Spring Security内部各个类的继承逻辑关系
时间: 2024-02-22 12:53:07 浏览: 152
Spring Security角色继承实现过程解析
Spring Security内部各个类的继承逻辑关系如下:
1. `SecurityFilterChain`接口是Spring Security的核心接口,定义了一组过滤器链。它有多个实现类,如`DefaultSecurityFilterChain`和`WebFilterChainProxy`。
2. `WebFilterChainProxy`是`SecurityFilterChain`接口的一个实现类,它是Spring Security的核心过滤器。它继承自`WebFilter`接口,用于处理HTTP请求的安全过滤器链。
3. `WebSecurityConfigurerAdapter`是一个抽象类,用于配置Spring Security的安全策略。它提供了一组方法,用于配置认证和授权规则。用户可以继承该类并重写其中的方法来自定义安全配置。
4. `AbstractSecurityInterceptor`是一个抽象类,实现了`Filter`接口。它是Spring Security的核心拦截器,用于拦截HTTP请求并进行安全验证和授权。
5. `FilterSecurityInterceptor`是`AbstractSecurityInterceptor`的一个实现类,用于对HTTP请求进行安全验证和授权。它继承自`AbstractSecurityInterceptor`,并实现了`Filter`接口。
6. `AccessDecisionManager`接口定义了一组决策器,用于根据用户的角色和权限决定是否允许访问某个资源。它有多个实现类,如`AffirmativeBased`、`ConsensusBased`和`UnanimousBased`。
7. `AuthenticationManager`接口定义了一组认证管理器,用于对用户进行认证。它有多个实现类,如`ProviderManager`和`DaoAuthenticationProvider`。
8. `UserDetailsService`接口定义了一组用户详细信息服务,用于根据用户名加载用户的详细信息。它有多个实现类,如`InMemoryUserDetailsManager`和`JdbcUserDetailsManager`。
9. `PasswordEncoder`接口定义了一组密码编码器,用于对用户的密码进行加密和解密。它有多个实现类,如`BCryptPasswordEncoder`和`PasswordEncoderFactories`。
阅读全文