一、什么是Spring Security
Spring Security是一种基于Spring框架的安全框架,它提供了一系列的安全工具和功能,用于保护Web应用程序和服务。Spring Security可以用于管理用户身份验证、授权、会话管理等安全方面的功能,同时还支持许多常见的安全协议和标准,如OAuth、OpenID等。通过使用Spring Security,开发人员可以更轻松地实现安全性,以保护其应用程序和服务。
二、核心组件
- SecurityContextHolder:SecurityContextHolder 是最基本的对象,它负责存储当前安全上下文信息。即保存着当前用户是什么,是否已经通过认证,拥有哪些权限等。
- Authentication: 从这个接口中,我们可以得到用户身份信息,密码,细节信息,认证信息,以及权限列表。
- AuthenticationManager:身份认证器,认证的核心接口。
- UserDetailsService:一般用于从数据库中加载身份信息。
- UserDetails:相比Authentication,有更详细的身份信息。
- AuthenticationProvider:提供了两个方法,一个是真正的认证,另一个是满足什么样的身份信息才进行如上认证。