SpringSecurity.
Architecture Components
SecurityContextHodler
ThreadLocal相关的安全上下文Holder
SecurityContext
包含 Authtication对象,用于获取当前已认证的用户信息
Authentication
未认证之前的包含用户提供凭证信息,交给
AuthenticationManager
处理认证完成后的包含用户认证信息,通常托管在
SecurityContext
。
GrantedAuthority
在用户认证中授予给用户的权限
AuthenticationManager
定义了SpringSecurity
过滤器如何执行身份验证的API
ProviderManager
AuthenticationManager
的一个实现
AuthenticationProvider
由ProviderManager
用于执行特定类型的身份验证
Request Credentials with AuthenticationEntryPoint
用于从客户端请求凭证(即重定向到登录页面,发送一个WWW-Authenticate响应,等等)
AbstractAuthenticationProcessingFilter
用于身份验证的基本过滤器。这还可以很好地了解身份验证的高级流程以及各个部分如何协同工作。
Authentication Mechanisms
用户身份验证机制
Username and Password
如何通过用户名密码进行认证
OAuth 2.0 Login
使用OpenID Connect和非标准OAuth 2.0登录进行OAuth 2.0登录(如Github等…)
SAML 2.0 Login
Central Authentication Server (CAS)
Remember Me
JAAS Authentication
OpenID
Pre-Authentication Scenarios
X509 Authentication
SecurityContextHolder
获取token
Authentication-server
TokenEndpoint |
检查token
Authentication-server |