基于持久性的记住我在Spring社交示例中的常规登录

基于持久性的记住我在Spring社交示例中的常规登录,spring,spring-security,spring-social,remember-me,Spring,Spring Security,Spring Social,Remember Me,因此,我想在Spring Social Showcase Sec XML示例中添加一个“记住我”功能。所以我想让它成为一个基于持久性的MemberMe,但是每当我将数据源添加到MemberMe时,就会出现一个错误 这是我在security.xml中的代码 <http use-expressions="true"> <!-- Authentication policy --> <form-login login-page="/signin" login

因此,我想在Spring Social Showcase Sec XML示例中添加一个“记住我”功能。所以我想让它成为一个基于持久性的MemberMe,但是每当我将数据源添加到MemberMe时,就会出现一个错误

这是我在security.xml中的代码

<http use-expressions="true">
    <!-- Authentication policy -->
    <form-login login-page="/signin" login-processing-url="/signin/authenticate" authentication-failure-url="/signin?param.error=bad_credentials" />
    <logout logout-url="/signout" delete-cookies="JSESSIONID" />
    <intercept-url pattern="/favicon.ico" access="permitAll" />
    <intercept-url pattern="/resources/**" access="permitAll" />
    <intercept-url pattern="/auth/**" access="permitAll" />
    <intercept-url pattern="/signin/**" access="permitAll" />
    <intercept-url pattern="/signup/**" access="permitAll" />
    <intercept-url pattern="/disconnect/facebook" access="permitAll" />
    <intercept-url pattern="/**" access="isAuthenticated()"  />
    <remember-me key="jbcpCalendar"
                data-source-ref="dataSource"/>

    <!--  Spring Social Security authentication filter -->
    <custom-filter ref="socialAuthenticationFilter" before="PRE_AUTH_FILTER" />
</http>

有没有一种方法可以让它在常规登录时使用基于持久性的MemberMe?

我认为您必须在名称空间中设置别名配置MemberMeServices:

<remember-me services-alias="toto"
             key="jbcpCalendar"
             data-source-ref="dataSource"/>

并在socialAuthenticationFilter配置中使用别名引用它:

<bean id="socialAuthenticationFilter" class="org.springframework.social.security.SocialAuthenticationFilter"
    c:_0-ref="authenticationManager"
    c:_1-ref="userIdSource"
    c:_2-ref="usersConnectionRepository"
    c:_3-ref="connectionFactoryLocator"
    p:signupUrl="/spring-social-showcase/signup"
    p:rememberMeServices-ref="toto" />

<remember-me services-alias="toto"
             key="jbcpCalendar"
             data-source-ref="dataSource"/>
<bean id="socialAuthenticationFilter" class="org.springframework.social.security.SocialAuthenticationFilter"
    c:_0-ref="authenticationManager"
    c:_1-ref="userIdSource"
    c:_2-ref="usersConnectionRepository"
    c:_3-ref="connectionFactoryLocator"
    p:signupUrl="/spring-social-showcase/signup"
    p:rememberMeServices-ref="toto" />