ResourceServerConfigurerAdapter与WebSecurityConfigurerAdapter同时使用只有ResourceServer

论坛 期权论坛 脚本     
已经匿名di用户   2022-3-21 23:41   1687   0

1.此处使用的ResourceServerConfigurerAdapter是spring-security-oauth2中的,WebSecurityConfigurerAdapter是spring-security-config中的;

2.同时使用上面的两种配置的时候,如果两者配种存在重写相同的方法时,后者的会出现配置不生效的问题,比如重写了configure这个方法(参数final不影响)

3.造成这个问题的主要原因其实就是因为两者的默认自动注册的@Order的优先级不同(具体情况请自行参考源码),前者的order默认值是比后者的order默认值小,@Order(数字),数字值越小,优先级越高,然后相同的方法只使用优先级高的,也就是order的值低的按个,然后order高的就会不生效,这也就是为啥同时使用资源服务配置与安全配置的时候,且不手动指定@Order注解的值的时候,后者的配置不生效。

4.解决的方式其实也不难,我们只需要手动设置下Order的值的大小,也就是加上@Order的注解,参见

这样,WebSecurityConfig中的configure就会执行,而ResourceServerConfig中的configure不生效。当然,其他的一些重写方法也是可以在两者中都会生效,具体的请自行尝试即可。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP