SpringSecurity Session改为token过程记录
曾经主导过一个SpringSecurity项目的改造,将Session改成Token;今日有一好友询问我相关经验,因此记录一下当时所做的内容
改造过程
- SpringSecurity的session改token大概内容如下:
- 禁用session
- 登录成功,生成token,此token可以是jwt-token,也可以是一个用redis集中存储的token,这个看具体的项目要求
- 添加一个token解析过滤器,通过token去得到Authentication对象并设置到上下文中,(后面的过滤器判断上下文中Authentication.isAuthenticated()返回值)。用session时,是session过滤器自动把这些事情给做了;用token时需要自己实现。 注意:这里好像记得是需要获取UserDetails,这查UserDetails的方法记得加缓存,否则每个请求都会查数据库
- 退出时,注销token;当然jwt的token不好注销,如果采用token用redis存储则需要去redis中删除token
作者:zeng1994
出处:http://www.cnblogs.com/zeng1994/
本文版权归作者和博客园共有,欢迎转载!但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接!