要实现验证和授权控制,我们将使用SpringCloud Security 和OAuth2标准来保护基于Spring的服务。
OAuth2简介
OAuth2是一个基于令牌的安全框架,允许用户使用第三方验证服务进行验证。它将安全性分解为4个组成部分
- 受保护资源:
- 资源所有者
- 应用程序
- OAuth2 验证服务器
OAuth2 规范具有以下4种类型的授权
- 密码
- 客户端凭证
- 授权码
- 隐式
1、什么是spring security? Spring Security 用来为java应用提供认证和授权管理,是一个强大的并且可以自定义的认证和权限控制框架。
最主要的就是两部分内容:Authentication(认证)和Authorization(授权,也称访问控制) Authentication(认证):验证当前用户是否是系统中的合法主体,也就是说此用户能否访问系统。用户认证一般要求用户输入用户名和密码,系统通过校验用户名和密码来完成整个认证过程。
Authorization(授权):验证某个用户是否有权限执行某个操作。系统中不同的用户所拥有的权限是不一样的,系统会为不同的用户分配不同的角色,而每个角色则对应一系列的系统资源的权限。
参考:
- Spring Security Authentication (认证)定制开发:www.jianshu.com/p/05168d777…
- blog.csdn.net/qq_36181797…
- SpringCloud-security-oauth2 github.com/startSnow/S…