开发者

How can I use j_spring_security_check

I am using spring 3 + struts 2 + hibernate 3, following is my configuration:

app-security:
   <beans:import resource="datasource.xml"/>
 <http auto-config='true'>
    <intercept-url pattern="/CMS/login*" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
    <intercept-url pattern="/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />
    <form-login login-page='/CMS/login' default-target-url="/j_spring_security_check"/>
  </http>
  <authentication-manager alias="authenticationManager">
 <authentication-provider user-service-ref="userDetailsService">
<!--    <password-encoder hash="md5"/>-->
  </authentication-provider>
</authentication-manager>
</beans:beans>
datasource.xml:
<?xml version="1.0" encoding="UTF-8" ?>

<bean id="userDetailsService" 
      class="mo.cam.service.impl.UserDetailsServiceImpl">
  <property name="dataSource" ref="dataSource"/>
  <property name="enableAuthorities" value="true"/>
  <property name="usersByUsernameQuery">
    <value>SELECT LOGIN, PASSWORD, 
           1 FROM USER_INFO WHERE LOGIN = ? 
    </value>
  </property>
  <property name="groupAuthoritiesByUsernameQuery">
    <value>SELECT G.GROUP_ID, G.GROUP_NAME,开发者_JS百科 P.NAME 
      FROM USER_INFO U
      JOIN USER_GROUP UG on U.USER_INFO_ID = UG.USER_INFO_ID
      JOIN GROUP G ON UG.GROUP_ID = G.GROUP_ID
      JOIN GROUP_PERMISSION GP ON G.GROUP_ID = GP.GROUP_ID
      JOIN PERMISSION P ON GP.PERMISSION_ID = P.PERMISSION_ID
      WHERE U.LOGIN = ? 
    </value>
  </property>
</bean>
    <bean id="dataSource"
        class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName"
            value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
        </property>
        <property name="url"
            value="***">
        </property>
        <property name="username" value=""></property>
        <property name="password" value=""></property> 
    </bean>
</beans>

and then setup my login page, but system just show me that : no action is defined for /cms/j_acegi_security_check and I tried to set a break point at :mo.cam.service.impl.UserDetailsServiceImpl, but it won't break! why ?


You should define the login's target url to /j_spring_security_check (as you defined in app:security) instead of /j_acegi_security_check

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜