SpringSecurity Session改为token过程记录

曾经主导过一个SpringSecurity项目的改造,将Session改成Token;今日有一好友询问我相关经验,因此记录一下当时所做的内容

改造过程

  1. SpringSecurity的session改token大概内容如下:
  2. 禁用session
  3. 登录成功,生成token,此token可以是jwt-token,也可以是一个用redis集中存储的token,这个看具体的项目要求
  4. 添加一个token解析过滤器,通过token去得到Authentication对象并设置到上下文中,(后面的过滤器判断上下文中Authentication.isAuthenticated()返回值)。用session时,是session过滤器自动把这些事情给做了;用token时需要自己实现。 注意:这里好像记得是需要获取UserDetails,这查UserDetails的方法记得加缓存,否则每个请求都会查数据库
  5. 退出时,注销token;当然jwt的token不好注销,如果采用token用redis存储则需要去redis中删除token

posted @ 2022-03-22 09:16  zeng1994  阅读(402)  评论(0编辑  收藏  举报