<返回更多

Spring 的 WebSecurity 过滤器

2020-10-16    
加入收藏

你需要一个 WebSecurityConfigurerAdapter 来对用户提供安全的校验,确保用户能够访问必要的资源。

一个基于 Spring Boot 的应用程序将会帮你完成安全的校验(通过在 HTTP 的基础授权上添加自己的 WebSecurityConfigurerAdapter)。

这个将会添加 过滤器链表的 Order = 0(这个是默认配置),同时将会保护所有的资源,除非你能够提供正确的配置。

注解 @EnableResourceServer 将会做同样的事情,但是过滤器链表的顺序默认是 Order = 3。

因此可以知道 WebSecurityConfigurerAdapter 和 ResourceServerConfigurerAdapter 都是Spring 使用的过滤器,用来对访问进行过滤的。

但是过滤的顺序是多少呢?

WebSecurityConfigurerAdapter 的 @Order(100)

 

Spring 的 WebSecurity 过滤器

 

 

如果我们想让WebSecurityConfigurerAdapter比ResourceServerConfigurerAdapter优先级高的话,只须要让前者的@Order值比后者的@Order值更低就行了。

@EnableResourceServer 的注解的 Order 是 3

 

Spring 的 WebSecurity 过滤器

 

 

在spring 的体系里Order值越小优先级越高,所以ResourceServerConfigurerAdapter优先级比另外一个更高,他会优先处理,而WebSecurityConfigurerAdapter会失效。

所以,在不同在上面 2 个定义的过滤器上面,如果你加了注解,会影响过滤器的调用顺序。

 

Spring 的 WebSecurity 过滤器

 

 

比如说这个注解,因为添加到代码中了,所以这个过滤器会被先调用。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>