博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Security Oauth2.0学习记录
阅读量:2216 次
发布时间:2019-05-07

本文共 1504 字,大约阅读时间需要 5 分钟。

OAuth2资源由过滤链保护,过滤链的顺序为security.oauth2.resource.filter-order。

默认情况下,在过滤器中顺序如下

  • AuthorizationServerConfigurerAdapter
  • ResourceServerConfigurerAdapter
  • WebSecurityConfigurerAdapter

很多文章写的oauth的时候把三者写在同一个工程中,这样变得很难理解。

如果想搞精通spring security 体系建议还是去看.
那么在理解这全套机制前需要搞清楚几个概念
1、认证授权服务器
2、授权客户端
3、资源服务器
4、资源所有者

授权客户端 相对 认证授权服务器而言得客户端,授权客户端可以在资源服务器上起作用,也可以认为资源服务器就是一个授权客户端。资源所有者即用户。

那么在spring security 体系中之前已经介绍过了spring security体系是通过filter chain 完成了全套得安全体系。spring security中留出来得配置入口为WebSecurityConfigurerAdapter

而Oauth2.0 中需要得两个入口则为AuthorizationServerConfigurerAdapter用于配置认证授权服务器和ResourceServerConfigurerAdapter用户配置资源服务器。
那么显而易见。你需要保护得资源上配置ResourceServerConfigurerAdapter即可,如你得订单中台,财务中台、商品中台,全部都可以配上ResourceServerConfigurerAdapter。而你得认证授权中台 配置AuthorizationServerConfigurerAdapter即可。
对于上面描述得三个Adapter都有相似之处,就是他们得处理流程都是一致得。

  • WebSecurityConfigurerAdapter中你可以去扩展认证器,实现UserdetailService 接口,重写loadUserByUsername,然后实现AuthenticationProvider。当然你可以使用默认得。
  • AuthorizationServerConfigurerAdapter 一样得流程你可以实现ClientDetailService ,重写loadClientByClientId 然后实现OAuth2AuthenticationManager 重写认证方法进行认证。
  • ResourceServerConfigurerAdapter中 实现OAuth2ProtectedResourceDetails接口实现其中方法。

总体而言如果能理解以上这几个点。基本上就能使用spring security体系了。单然其中还会涉及到

  • token得生成
  • 添加验证码
  • token存储
  • 密码加密
  • 登出注销
  • 权限控制
  • 自定义fliter
  • json返回
  • 异常处理

一系列得功能,我这边不多做介绍,仅仅记录下自己学习过程中感觉最重要得点。如果你想了解更多可以去看。但是你只要搞清楚以上三个概念和扩展入口,你会发现这个东西很简单。单然你还要搞清楚Oauth2.0得概念才行。

总而言之,spring security体系做了一件事情就是把你在服务器或者数据库存得数据做了一层抽象,另一边将浏览器或者客户端传过来得资源做了一层抽象,然后将两者按照一定得规则组装到一个管理器里面去做一系列得业务逻辑判断,当然包括此管理器得业务逻辑判断它也做了一层抽象便于你可以自定义。

转载地址:http://qpkfb.baihongyu.com/

你可能感兴趣的文章
探索Redis设计与实现8:连接底层与表面的数据结构robj
查看>>
探索Redis设计与实现7:Redis内部数据结构详解——intset
查看>>
探索Redis设计与实现9:数据库redisDb与键过期删除策略
查看>>
探索Redis设计与实现10:Redis的事件驱动模型与命令执行过程
查看>>
分布式系统理论基础1: 一致性、2PC和3PC
查看>>
分布式系统理论基础2 :CAP
查看>>
分布式系统理论基础3: 时间、时钟和事件顺序
查看>>
分布式系统理论基础4:Paxos
查看>>
分布式系统理论基础5:选举、多数派和租约
查看>>
分布式系统理论基础6:Raft、Zab
查看>>
分布式系统理论进阶7:Paxos变种和优化
查看>>
分布式系统理论基础8:zookeeper分布式协调服务
查看>>
搞懂分布式技术1:分布式系统的一些基本概念
查看>>
搞懂分布式技术2:分布式一致性协议与Paxos,Raft算法
查看>>
搞懂分布式技术3:初探分布式协调服务zookeeper
查看>>
搞懂分布式技术4:ZAB协议概述与选主流程详解
查看>>
搞懂分布式技术5:Zookeeper的配置与集群管理实战
查看>>
搞懂分布式技术6:Zookeeper典型应用场景及实践
查看>>
搞懂分布式技术10:LVS实现负载均衡的原理与实践
查看>>
搞懂分布式技术11:分布式session解决方案与一致性hash
查看>>