OAuth 2.0实现分布式认证授权-资源微服务实现用户鉴权拦截
Posted 健康平安的活着
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OAuth 2.0实现分布式认证授权-资源微服务实现用户鉴权拦截相关的知识,希望对你有一定的参考价值。
一 微服务用户鉴权拦截
当微服务收到明文
token
时,应该怎么鉴权拦截呢?自己实现一个
fifilter
?自己解析明文
token
,自己定义一套资源访问策略?
能不能适配
Spring Security
呢,是不是突然想起了前面我们实现的
Spring Security
基于
token
认证例子。咱们还拿 统一用户服务作为网关下游微服务,对它进行改造
,增加微服务用户鉴权拦截功能
二 操作
2.1 在资源order服务中进行修改
2.2 Spring Security配置
开启方法保护,并增加
Spring
配置策略,除了
/login
方法不受保护
(
统一认证要调用
)
,其他资源全部需要认证才能访 问。
2.3 定义fifilter拦截token,并形成Spring Security的Authentication对象
解析token,将信息进行存储到Spring Security的Authentication
1.解析token
2.新建并填充authentication
3.将authentication保存进安全上下文
剩下的事儿就交给
Spring Security
好了。
经过上边的过虑 器,资源 服务中就可以方便到的获取用户的身份信息:
UserDTO user = (UserDTO) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
以上是关于OAuth 2.0实现分布式认证授权-资源微服务实现用户鉴权拦截的主要内容,如果未能解决你的问题,请参考以下文章