1

アプリケーションにSpring Security 3.0のremember meサービスを実装しようとしましたが、残念ながら機能しませんでした。

春のドキュメントでさえ、これに関連する特定の例は見つかりませんでした。誰かが実際に動作するサンプルコードを提供できれば幸いです。私の spring-security.xml ファイルのコードを見つけてください。

    <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
      http://www.springframework.org/schema/security
      http://www.springframework.org/schema/security/spring-security-3.0.xsd">


<security:http entry-point-ref="myAuthenticationEntryPoint">

    <security:session-management
        session-fixation-protection="newSession" />
    <security:custom-filter position="FORM_LOGIN_FILTER"
        ref="processingFilter" />
    <security:logout logout-url="/logout"
        logout-success-url="/login" />
    <security:intercept-url pattern='/index.jsp'
        filters='none' />
    <security:intercept-url pattern='/login*'
        filters='none' />
    <security:remember-me key="springrocks" />

    <security:intercept-url pattern='/admin/**'
        access="ROLE_ADMIN" />

</security:http>

<security:authentication-manager>
    <security:authentication-provider
        ref="myAuthenticationProvider"></security:authentication-provider>
</security:authentication-manager>
<bean id="myAuthenticationProvider"
    class="example.AuthenticationProviderExtended">

</bean>

<bean id="authenticationManager" class="example.AuthenticationManagerExtended" />

<bean id="processingFilter" class="example.FormBasedProcessingFilter">
    <property name="authenticationManager" ref="authenticationManager" />
    <property name="usernameParameter" value="username" />
    <property name="passwordParameter" value="password" />
    <property name="allowSessionCreation" value="true" />
    <property name="authenticationFailureHandler" ref="simpleUrlAuthenticationFailureHandler" />
    <property name="authenticationSuccessHandler" ref="simpleUrlAuthenticationSuccessHandler" />
    <property name="filterProcessesUrl" value="/performLogin" />
</bean>


<bean id="simpleUrlAuthenticationFailureHandler" class="example.AuthenticationFailureHandler">
    <property name="defaultFailureUrl" value="/login"></property>
</bean>

<bean id="simpleUrlAuthenticationSuccessHandler"
    class="org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler">
    <property name="defaultTargetUrl" value="/home" />
</bean>


<bean id="myAuthenticationEntryPoint"
    class="example.CustomAuthenticationEntryPoint">
    <property name="loginFormUrl" value="/login" />
</bean>

<bean id="rememberMeFilter"
    class="org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter">
    <property name="rememberMeServices" ref="rememberMeServices" />
    <property name="authenticationManager" ref="authenticationManager" />
</bean>

<bean id="rememberMeServices"
    class="org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices">
    <property name="userDetailsService" ref="myUserDetailsService" />
    <property name="key" value="springRocks" />
</bean>

<bean id="rememberMeAuthenticationProvider"
    class="org.springframework.security.authentication.RememberMeAuthenticationProvider">
    <property name="key" value="springRocks" />
</bean>

<bean id="myUserDetailsService" class="example.MyCustomeUserDetailsService">

</bean>

</beans>
4

2 に答える 2

1

ここで Spring Security のドキュメントを参照してください: http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#remember-me-hash-token

于 2013-03-30T10:32:09.113 に答える
0

フォームにチェックボックス (またはその他のタイプの入力) が含まれていることを確認する必要があります。

<input type="checkbox" name="_spring_security_remember_me"/>

この属性は、xml の remember-me-parameter を介して構成できます。例:

<remember-me remember-me-parameter="please_remember"/>
于 2014-03-12T10:20:00.750 に答える