SpringSecurity 微服务权限方案

1.首先进入TokenLoginFilter的attemptAuthentication()方法进行信息认证,需要一个实现了UserDetails的实体对象,在UserDetailsServiceImpl的loadUserByUsername方法返回值可以得到

2.从UserDetailsServiceImpl的loadUserByUsername方法获取用户登录的信息,封在UserDetails的实现类中的,把信息封装成springsecurity接收的.class类型,设置给UserDetails的实现类securityUser,再查询到权限信息,设置给UserDetails的实现类securityUser

3.认证成功之后到进入TokenLoginFilter的successfulAuthentication()方法得到用户的当前信息(包括在第2步中设置的用户信息和权限信息),然后生成token,将用户名和权限以key:value设置到redis中,将token返回前端

认证完毕

授权

1.从前端head中得到token信息,然后用jwt根据token获取用户名 再从redis中查询权限,给当前用户授权查到的权限信息

 

上一篇:SpringSecurity学习笔记1:何为SpringSecurity


下一篇:kafka --- 常见性问题