多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
Spring Security 实现微服务权限控制可以采用如下两种方式。 <br/> **1. 基于Session进行控制** Spring-security 会对 cookie 里的 sessionid 进行解析,找到服务器存储的 session 信息,然后判断当前用户是否符合请求的要求。 <br/> **2. 基于token进行控制** 解析出 token,然后将当前请求加入到 Spring-security 管理的权限信息中。 ![](https://img.kancloud.cn/b8/00/b800f08dbad7a3732f48eda4cb105ca2_1673x620.png) <br/> 如果系统的模块众多,每个模块都需要进行授权与认证,所以我们选择基于 token 的形式进行授权与认证。用户根据用户名密码认证成功,然后获取当前用户角色的一系列权限值,并以用户名为 key,权限列表为 value 的形式存入 redis 缓存中,根据用户名相关信息生成 token 返回,浏览器将 token 记录到 cookie 中,每次调用 api 接口都默认将 token 携带到 header 请求头中,Spring-security 解析 header 头获取 token 信息,解析 token 获取当前用户名,根据用户名就可以从 redis 中获取权限列表,这样 Spring Security 就能够判断当前请求是否有权限访问。