Spring Security 开篇词

Spring Security 是一个安全框架,它提供了认证、授权以及常见漏洞的防护能力。而 OAuth2 则是一个授权框架,它定义了四种授权模式:授权码、密码、隐式以及客户端凭证,也同时定义了四种角色:资源所有者、客户端、资源服务器以及授权服务器。可想而知,如果要实现 OAuth2 支持就必须要后端实现后三种角色。

在Spring 5.0 之前,所有的角色都由Spring Security OAuth这个项目所提供,而从Spring 5.0开始,Spring 从拆分出的 OAuth2 Client 以及 OAuth2 Resource Server 提供了客户端和资源服务器的支持。并且提供了一个官方迁移指南,比较了两种实现方式的不同点。但是不见了Spring Authorization Sever 的踪影,Spring 社区开发者们对此持有不同意见,虽有已经有了其它各种授权服务实现,但是这并不构成 Spring 不提供此项服务的理由。所以,目前我们欣喜的看到官方对社区的响应,Spring Authorization Sever 0.31 已经发布了,目前已经有较为完备的文档。

所以这一系列接下来文章将会围绕着Spring Security逐步展开,目的是让你会用并且能用好这个框架的同时了解到背后的一些原理。大致目录结构如下:

1. 学习 Spring Security 需要了解的基础知识

 在学习Spring Security之前,你需要有一定的Java以及Spring 的基础,在Spring Security框架中应用了Spring的核心技术:依赖注入以及面向切面编程。当然,对于Web MVC框架以及Servlet和Filter的了解也对我们接下来的旅程十分有帮助,毕竟Spring Web MVC 是目前使用的最主流的Web框架,而它的背后依然是Servlet和Filter。

2. 认证

 认证,通俗的来说,就是你要证明你是你。最常见的方式就是密码认证的方式,你需要输入用户和密码,来让服务来认证你的身份。

3. 授权

 授权,又称访问控制,在部分的应用场景中,用户登录之后就拥有了对所登录的服务的所有控制权,但是大部分的场景中,我们需要根据所登录的用户的角色或是其它属性的不同,对其所能访问的资源有所限制。

4. 异常处理

 异常处理,通常存在两种情况,你无法确认来者的身份或是来着身份凭证已经过期,通常会抛出http 401作为响应,而另一种情况则是你确认了来着的身份同时也它不能访问某些资源,从而抛出http 403作为响应。

5. OAuth2.0以及OAuth2.1

   OAuth 2.0是认证的行业标准。OAuth 2.0专注于未客户端开发的简单性的同时提供了针对Web应用、桌面应用程序、移动应用以及智能家居应用的特点授权流程。当前的正式版本为2.0版本,2.1版本对2.0进行了升级,其中最为巨大的就是密码模式被废弃,且为授权码验证模式添加PKCE。

6. OAuth2 Resource Sever

 这是Spring Security提供的一个库,与OAuth2.0协议中的Resource Server相对应。

7. Authorization Server

 同样也是Spring Security提供的一个库,与OAuth2.0协议中的Authorization Server相对应。

8. OAuth2 Client

 Client,则与Auth2.0协议中的Client相对应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值