Spring Security是什么?
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。同时这也是一种基于 Spring AOP 和 Servlet 过滤器的安全框架。它提供全面的安全性解决方案,同时在 Web 请求级和方法调用级处理身份确认和授权。
Spring Security的核心类主要包括以下几个:
- SecurityContextHolder: 存放身份信息的容器
- AuthenticationManager: 身份认证器,认证的核心接口
- Authentication: 身份信息的抽象接口
- UserDetailsService: 一般用于从数据库中加载身份信息
- UserDetails: 相比Authentication,有更详细的身份信息