Spring Security AuthorizationFilter代替FilterSecurityInterceptor重大变更逻辑

一.概述

最新的spring security的访问控制推荐使用

Authorize HttpServletRequests with AuthorizationFilter :: Spring Security

官方描述如下,建议使用AuthorizationFilter替换FilterSecurityInterceptor

 二.注意点

使用FilterSecurityInterceptor

@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
	http
		// ...
		.authorizeRequests(authorize -> authorize                                  
			.mvcMatchers("/resources/**", "/signup", "/about").permitAll()         
			.mvcMatchers("/admin/**").hasRole("ADMIN")                  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
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`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tof21

支持原创

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值