扫码阅读
手机扫码阅读

微服务中的鉴权该怎么做?

3 2024-11-27

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:微服务中的鉴权该怎么做?
文章来源:
江南一点雨
扫码关注公众号

本文主要讨论了如何在微服务架构中处理鉴权问题,包括认证和授权两大核心内容。文章通过讲解具体的实现思路,而不涉及代码细节,旨在提供一些实践经验。

1. 认证与授权

对于微服务架构中的鉴权,可以分为认证和授权两个方面。

1.1 认证

认证通常指登录。在微服务中,传统的Cookie+Session方案不再适用。建议使用基于令牌的方式,如JWT。但是,由于JWT无法实现注销,因此需要与Redis结合使用,以便在Redis中保存JWT字符串,并设置过期时间,实现有状态登录与无状态登录的结合。

1.2 授权

授权可以通过使用Shiro或Spring Security框架来简化实现。在微服务技术栈中推荐使用Spring Security。也可以通过自定义注解和角色注解,在切面中解析,检查用户角色/权限。

2. 认证服务

认证过程可以简化为登录和校验两个步骤。

2.1 登录

可以创建一个单独的认证服务来处理登录请求,生成JWT字符串,并将数据存入Redis。

2.2 校验

校验指的是验证用户是否已登录。建议在网关层面进行校验,通过全局过滤器校验令牌合法性,并在请求转发前进行用户信息解析。

3. 授权服务

授权需要在各个微服务上完成,可以分为处理外部请求和内部请求。

3.1 外部请求

外部请求可通过自定义注解或使用Spring Security框架进行权限校验。

3.2 内部请求

内部请求通常不需要鉴权。但为了安全考虑,可以通过自定义字段区分OpenFeign和外部浏览器请求,同时使用拦截器为OpenFeign请求设置统一的请求头信息。

文章最后提到,为了彻底掌握Spring Security+OAuth2,可以参考松哥录制的视频教程,该教程包含了丰富的内容和多种登录场景,基于最新版的Spring Security6录制,适合想深入学习系统安全管理的读者。

想要了解更多内容?

查看原文:微服务中的鉴权该怎么做?
文章来源:
江南一点雨
扫码关注公众号