💡
原文中文,约5800字,阅读约需14分钟。
📝
内容提要
本文介绍了使用Spring Gateway和Sa-Token实现无感鉴权的方案,通过注入用户ID实现无感鉴权,避免了下游微服务依赖Sa-Token的问题。详细介绍了引入依赖、创建路由、实现鉴权接口和注册全局过滤器的步骤。展示了为Webflux请求添加过滤器,获取用户登录ID并在请求头中注入,以及下游微服务获取用户ID的方法。作者对Sa-Token近期文档更新中强制要求用户star并授权的行为表示不满,希望Sa-Token重新考虑该功能的设立。
🎯
关键要点
- 本文介绍了使用Spring Gateway和Sa-Token实现无感鉴权的方案。
- 无感鉴权方案通过注入用户ID避免下游微服务依赖Sa-Token。
- 直接在网关实现鉴权存在局限性,导致下游微服务与Sa-Token耦合度过高。
- 提供的方案使鉴权服务对下游微服务保持透明。
- 使用Java 17和Spring Boot 3作为示例,适配传统Java 8和Spring Boot 2项目。
- 详细介绍了引入依赖、创建路由、实现鉴权接口和注册全局过滤器的步骤。
- 为Webflux请求添加过滤器,获取用户登录ID并注入请求头。
- 下游微服务通过获取请求头中的用户ID实现无感鉴权。
- 作者对Sa-Token近期文档更新中强制要求用户star和授权的行为表示不满。
- 希望Sa-Token重新考虑该功能的设立,维护良好的开源环境。
➡️