jAd*_*ict 5 cookies spring-security remember-me
我在我的项目中使用Spring Data REST和Spring Security.AM使用基于持久令牌的记住我的Spring安全服务来记住登录用户,我试图使会话无效并以编程方式从存储库和cookie中删除数据.我已经尝试了以下代码,但只为该请求工作,如果再次提出另一个请求,则再次进行身份验证.如何在会话无效后从数据库和浏览器中删除cookie.
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
if (auth != null){
new SecurityContextLogoutHandler().logout(request, response, auth);
new PersistentTokenBasedRememberMeServices().logout(request, response, auth);
}
SecurityContextHolder.getContext().setAuthentication(null);
Run Code Online (Sandbox Code Playgroud)
是否可以使用Spring Security的PersistentTokenBasedRememberme服务使会话无效并删除?还有什么我必须用来删除cookie或其他?
你需要依赖注入rememberMeServices。这应该有效:
def rememberMeServices
def yourAction(){
SecurityContextHolder.clearContext(); //invalidates auth
rememberMeServices.logout(request, response, null) // removes rememberMe cookie
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
945 次 |
| 最近记录: |