springsecurity-微服务-认证授权的过程
springsecurity的认证授权有两种方式:基于session和基于token。由于token的使用会比较多,下面讲token的这种方式。
整个大概的流程是这样的:
1.用户访问服务器进行登录,服务器返回登录页面给用户
2.用户填写用户名和密码,并提交给服务器
3.服务器收到后,由springsecurity来进行认证校验,主要是查询数据库用户名和密码,判断是否是合法的用户,如果是,则认证成功,并且从数据库中查出该用户的权限列表
4.将用户名和权限列表保存到redis中,用户名为key,权限列表为value;通常每个权限用其code来表示,在权限表会有一个code字段,到时候redis存的权限列表,其实就是一系列的code值。
5.此时根据用户名等信息生成token,把token保存在cookie中并返回给用户;此时用户就已经认证成功了,接下来就是授权了
6.当用户再次访问时,从cookie中取出token信息,放到请求中的header请求头,随着请求发送给服务器
7.服务器从header头中拿到token,并解析token拿到用户名
8.查询redis,根据用户名,查询该用户的权限列表
9.springsecurity根据权限列表,为用户此请求赋予相应的权限
10.用户请求进行相应的操作
大概流程是这样的,我们可以知道,实际上权限列表是保存在数据库中的,但是springsecurity会从redis取用户的权限,再赋予用户该请求的权限
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)