2013-05-31 6 views
0

Итак, я хочу добавить функцию mem-me в образец Spring Social Showcase-Sec-XML. Поэтому я хочу, чтобы он был основан на постоянном запоминании, но всякий раз, когда я добавляю источник данных в память, я получаю сообщение об ошибке.Постоянный основанный Запомнить меня для обычного входа в Spring Social Sample

Это мой код в 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> 

Это 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="org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices#0" /> <!-- TODO: Figure out how to wire this without this name --> 

Это трассировку стека, которая выходит):

Cannot resolve reference to bean 'socialAuthenticationFilter' while setting 
constructor argument with key [2]; nested exception is 
org.springframework.beans.factory.BeanCreationException: 

Error creating bean with name 'socialAuthenticationFilter' 
defined in ServletContext resource [/WEB-INF/spring/social-security.xml]: Cannot 
resolve reference to bean 
'org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices#0' 
while setting bean property 'rememberMeServices'; nested exception is 
org.springframework.beans.factory.NoSuchBeanDefinitionException: 
No bean named 
'org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices#0' is defined 

Есть ли способ, чтобы сделать его использовать стойкие на основе помяни меня, когда его регулярно Войти?

ответ

1

Я думаю, вы должны поставить псевдоним на пространство имен настроено remembermeservices:

<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" /> 

 Смежные вопросы

  • Нет связанных вопросов^_^