前言
本文主要讲述SpringSecurity是什么以及身份认证和授权流程
往期链接
一、了解Spring Security
Spring Security
是一个功能强大且高度可定制的身份验证和访问控制框架。它是保护基于 Spring 的应用程序的事实上的标准。
Spring Security
主要做两件事情身份验证(鉴权)与授权。Spring Security功能强大,一些主要支持的功能如下所示:
- 多种协议支持,如
OAuth 2.0
、SAML 2.0
- 多种身份认证方式,如
JDBC
、LDAP
、OpenID Connect
等 - 多种安全策略,如防止跨站请求伪造(CRSF)、会话固定攻击(劫持Session)等
熟练掌握Spring Security,首先就要知道它的架构是怎么设计的,以及工作的原理,不能仅仅停留在使用API的层面上。
核心组件
核心组件主要有以下几个(大致过一下就行)
Authentication:表示身份验证请求或身份验证主体的令牌
SecurityContext:Security上下文,主要用来保存Authentication
SecurityContextHolder: 提供给外部访问SecurityContext
GrantedAuthor