首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring security remember-me with customAuthenticationProvider

Spring security remember-me with customAuthenticationProvider
EN

Stack Overflow用户
提问于 2013-06-11 20:24:30
回答 1查看 266关注 0票数 0

我使用扩展AbstractUserDetailsAuthenticationProviderCustomAuthentication提供程序进行身份验证。我必须这样做,因为我想要对well服务进行身份验证,并且需要userid和密码。这是唯一允许我这样做的类。现在我正面临着实现记住我的功能的问题,这是我的安全上下文文件-

代码语言:javascript
复制
<http auto-config="true">
    <intercept-url pattern="/j_spring_security_check" access="IS_AUTHENTICATED_ANONYMOUSLY"/>       
    <intercept-url pattern="/dashboard*" access="ROLE_USER" />
    <form-login login-page="/login.html" default-target-url="/dashboard1.html#meetings"
        authentication-failure-url="/loginFailed.html" />
    <logout logout-success-url="/login.html" />
</http>

<beans:bean name="customAuthenticationProvider" class = "com.component.WebServiceUserDetailsAuthenticationProvider"/>

<authentication-manager>
  <authentication-provider ref = "customAuthenticationProvider"/>
</authentication-manager>

</beans:beans>  
EN

回答 1

Stack Overflow用户

发布于 2013-06-14 18:56:46

Remember-me是对用户进行身份验证的另一种方法,因此当它接收到一个remember-me cookie时,它需要对其进行验证并为用户加载信息,以便将其提供给应用程序。为此,它使用UserDetailsService接口。

基本实现TokenBasedRememberMeServices需要访问密码才能验证令牌。如果你的系统不能提供它,那么你就不能使用它。

另一种选择是PersistentTokenBasedRememberMeServices,它使用一个数据库来存储记住我的令牌。它不需要访问密码,但是您仍然需要实现一个UserDetailsService来允许它为经过身份验证的用户加载信息。它返回的UserDetails对象不需要包含密码,但至少应该包含用户名,这样您就可以知道谁是登录者。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17044020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档