struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gerardo Corro <rob_gar_...@hotmail.com>
Subject Struts+Acegi not working
Date Tue, 31 Jul 2007 14:43:16 GMT

Hi,

I'm building a web application build with Struts+Spring+Acegi, I'm building the login page
but I'm getting the next error:



javax.servlet.ServletException: Cannot retrieve mapping for action /j_acegi_security_check
	org.apache.jasper.runtime.PageContextImpl.doHandle  PageException(PageContextImpl.java:825)
	org.apache.jasper.runtime.PageContextImpl.handlePa  geException(PageContextImpl.java:758)
	org.apache.jsp.userLogin_jsp._jspService(userLogin  _jsp.java:148)
	org.apache.jasper.runtime.HttpJspBase.service(Http  JspBase.java:94)
	javax.servlet.http.HttpServlet.service(HttpServlet  .java:802)
	org.apache.jasper.servlet.JspServletWrapper.servic  e(JspServletWrapper.java:324)
	org.apache.jasper.servlet.JspServlet.serviceJspFil  e(JspServlet.java:292)
	org.apache.jasper.servlet.JspServlet.service(JspSe  rvlet.java:236)
	javax.servlet.http.HttpServlet.service(HttpServlet  .java:802)



javax.servlet.jsp.JspException: Cannot retrieve mapping for action /j_acegi_security_check
	org.apache.struts.taglib.html.FormTag.lookup(FormT  ag.java:810)
	org.apache.struts.taglib.html.FormTag.doStartTag(F  ormTag.java:506)
	org.apache.jsp.userLogin_jsp._jspx_meth_html_form_  0(userLogin_jsp.java:213)
	org.apache.jsp.userLogin_jsp._jspService(userLogin  _jsp.java:136)
	org.apache.jasper.runtime.HttpJspBase.service(Http  JspBase.java:94)
	javax.servlet.http.HttpServlet.service(HttpServlet  .java:802)
	org.apache.jasper.servlet.JspServletWrapper.servic  e(JspServletWrapper.java:324)
	org.apache.jasper.servlet.JspServlet.serviceJspFil  e(JspServlet.java:292)
	org.apache.jasper.servlet.JspServlet.service(JspSe  rvlet.java:236)
	javax.servlet.http.HttpServlet.service(HttpServlet  .java:802)


My Acegi context file looks like:


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
	<bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy">
		<property name="filterInvocationDefinitionSource">
			<value>
				CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
				PATTERN_TYPE_APACHE_ANT
/*.do*=httpSessionContextIntegrationFilter,authenti
cationProcessingFilter,exceptionTranslationFilter,
filterInvocationInterceptor</value>
		</property>
	</bean>
	
   <bean id="passwordEncoder" class="org.acegisecurity.providers.encoding.Md5Pas  swordEncoder"/>


	<bean id="httpSessionContextIntegrationFilter" class="org.acegisecurity.context.HttpSessionContex
 tIntegrationFilter" />

    <bean id="authenticationProcessingFilter" class="org.acegisecurity.ui.webapp.AuthenticationP
 rocessingFilter">
		<property name="authenticationManager">
			<ref local="authenticationManager" />
		</property>
		<property name="authenticationFailureUrl">
			<value>/userLogin.jsp?login_error=errors.credenciales.nova  lidos</value>
		</property>
		<property name="defaultTargetUrl">
			<value>/</value>
		</property>
		<property name="filterProcessesUrl">
			<value>/j_acegi_security_check.do</value>
		</property>
	</bean>

	<bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager  ">
		<property name="providers">
			<list>
				<ref local="daoAuthenticationProvider" />
			</list>
		</property>
	</bean>

	<bean id="filterInvocationInterceptor" class="org.acegisecurity.intercept.web.FilterSecur
 ityInterceptor">
		<property name="authenticationManager">
			<ref local="authenticationManager" />
		</property>
		<property name="accessDecisionManager">
			<ref local="accessDecisionManager" />
		</property>
		<property name="objectDefinitionSource">
			<value>
				CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
				PATTERN_TYPE_APACHE_ANT
				/buscadorperfiles.do*=ROLE_ADMIN,ROLE_TODO
				/*.do*=ROLE_ADMIN,ROLE_TODO
		    </value>
		</property>
	</bean>
	<bean id="authenticationEntryPoint" class="org.acegisecurity.ui.webapp.AuthenticationP
 rocessingFilterEntryPoint">
		<property name="loginFormUrl">
			<value>/userLogin.jsp?login_error=errors.credenciales.nova  lidos</value>
		</property>
		<property name="forceHttps">
			<value>false</value>
		</property>
	</bean>
    <bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenti
 cationProvider">
		<!-- En memoria 
			<property name="authenticationDao"><ref bean="administradoresDAO"/></property>
-->
		<!--  En bbdd -->
		<property name="userDetailsService">
			<ref bean="administradoresJDBCDAO" />
		</property>
		<!-- Cache -->
		<property name="userCache">
			<ref bean="userCache" />
		</property>
        <property name="passwordEncoder"><ref local="passwordEncoder"/></property>
	
	</bean>
	<bean id="administradoresJDBCDAO" class="org.acegisecurity.userdetails.jdbc.JdbcDaoI 
mpl">
		<property name="dataSource">
			<ref bean="basicDataSource" />
		</property>
		<property name="usersByUsernameQuery">
			<value>select idusuario as username, password as password,'1' as enabled FROM usuarios
WHERE idusuario=?</value>
		</property>
		<property name="authoritiesByUsernameQuery">
			<value>select idusuario as username, CONCAT('ROLE_',idperfil) from usuarios where
idusuario=?</value>
		</property>
	</bean>
	
	<bean id="userCache" class="org.acegisecurity.providers.dao.cache.EhCac  heBasedUserCache">
		<property name="cache">
			<ref local="userCacheBackend" />
		</property>
	</bean>

	<bean id="userCacheBackend" class="org.springframework.cache.ehcache.EhCacheFa  ctoryBean">
		<property name="cacheManager">
			<ref local="cacheManager" />
		</property>
		<property name="cacheName">
			<value>userCache</value>
		</property>
	</bean>

	<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheMa  nagerFactoryBean">
		<property name="configLocation">
			<value>classpath:/ehcache-failsafe.xml</value>
		</property>
	</bean>
	
<bean id="authenticationProcessingFilterEntryPoint"
class="org.acegisecurity.ui.webapp.AuthenticationP
rocessingFilterEntryPoint">
		<property name="loginFormUrl">
			<value>/userLogin.jsp</value>
		</property>
		<property name="forceHttps">
			<value>false</value>
		</property>
	</bean>
	
	<bean id="exceptionTranslationFilter" class="org.acegisecurity.ui.ExceptionTranslationFi
 lter">
		<property name="authenticationEntryPoint">
			<ref bean="authenticationProcessingFilterEntryPoint" />
		</property>
		<property name="accessDeniedHandler">
			<bean class="org.acegisecurity.ui.AccessDeniedHandlerImp  l">
				<property name="errorPage" value="/login.jsp" />
			</bean>
		</property>
	</bean>

	<bean id="roleVoter" class="org.acegisecurity.vote.RoleVoter" />

	<bean id="accessDecisionManager" class="org.acegisecurity.vote.AffirmativeBased">
		<property name="allowIfAllAbstainDecisions">
			<value>false</value>
		</property>
		<property name="decisionVoters">
			<list>
				<ref local="roleVoter" />
			</list>
		</property>
	</bean>        

</beans>


The input login form like this:



		<html:form action="j_acegi_security_check.do" name="userLoginForm">
			username : <html:text property="j_username" />
			<html:errors property="j_username" />
			<br />		
			password : <html:password property="j_password" />
			<html:errors property="j_password" />
			<br />
			<html:submit />
		</html:form>



The struts config file is this one:


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD
Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

<struts-config>
  <data-sources />
  <form-beans >
    <form-bean name="userLoginForm" type="com.xxx.yyy.struts.form.UserLoginForm" />
  </form-beans>
  
	
  <action-mappings >
    <action
      attribute="userLoginForm"
      input="/userLogin.jsp"
      name="userLoginForm"
      path="/userLogin"
      scope="request"
      type="com.xxx.yyy.struts.action.UserLoginAction">
      <forward name="success" path="/WEB-INF/page/userLoginSuccess.jsp" />
      <forward name="failure" path="/userLogin.jsp" />
    </action>

  </action-mappings>

  <message-resources parameter="com.xxx.yyy.struts.ApplicationResources  " />
</struts-config>


And my web.xml file is:



	<filter>
        <filter-name>FiltroFilterChainProxy</filter-name>
        <filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class>
        <init-param>
            <param-name>targetClass</param-name>
            <param-value>org.acegisecurity.util.FilterChainProxy</param-value>
        </init-param>
    </filter>

	<filter-mapping>
		<filter-name>FiltroFilterChainProxy</filter-name>
		<url-pattern>*.do</url-pattern>
	</filter-mapping>



Please assist, thank you!
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message