前言
某安某大型国企项目基于Oath2的实践
前言
前不久在研究其他源码时,偶然看到spring官网的一则更新。 https://spring.io/projects/spring-security-oauth
功能很是齐全,大家可以研究研究,和开源项目若依不相上下。
1.Oauth2相关介绍
1.1 Oauth2四种角色
1.2 许可类型
1.3 使用场景
1.4 和https的区别
https 和oauth2是两个维度的安全,https 解决的是信息的加密传输,oauth2解决的是用access_token来代替用户名和密码的传输。
2.SpringSecurity相关简介
这是一种基于 Spring AOP 和 Servlet 过滤器的安全框架。它提供全面的安全性解决方案,同时在 Web 请求级和方法调用级处理身份确认和授权
2.1核心类
2.1.1 Authentication
Authentication 是一个接口,用来表示用户认证信息的,Spring Security方式的认证主体,保护用户信息和权限等
2.1.2 SecurityContext
持有Authentication对象和其他可能需要的信息SecurityContextHolder 提供对SecurityContext的访问
2.1.3 AuthenticationManager
2.1.4 ProviderManager
AuthenticationManager 的默认实现,主要用来进行认证操作的类 调用其中的authenticate()方法去进行认证操作,但它不直接自己处理认证请求,而是委托给其所配置的 AuthenticationProvider 列表一一认证
2.1.5 AuthenticationProvider
每一种token至少都会有一个provider认证
2.1.6 UserDetail
构建Authentication对象必须的信息,可以自定义,可能需要访问DB得到
2.1.6 UserDetailService
通过username构建UserDetails对象,通过loadUserByUsername根据userName获取UserDetail对象。
2.1.7 passwordEncoder
密码加密器
2.1.8 GrantedAuthority
对认证主题的应用层面的授权,含当前用户的权限信息,通常使用角色表示。
2.1.9 UserDetail和Authorition的区别
UserDetail:从数据库中查出来的用户基本数据。
Authorition:经过spring security认证之后得到的包含权限等数据的认证实体
3.某安某大型国企项目基于Oath2的实践
先来张简易的架构图,图画的不好,毕竟不是做架构师的料
第一篇就先到这吧,正好有点事要出去一趟。根据前面的反馈,一篇写太长了,影响观看,各位客官如果想继续看后面的,请保持关注。

原文始发于微信公众号(小李的源码图):某安某大型国企项目Oauth2实践(一)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/145335.html