问题1:在Spring Security中,到底有什么功能
@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
Spring文档说明如下,但我不确定我是否理解清楚
要覆盖访问规则而不更改任何其他自动配置功能,请添加 WebSecurityConfigurerAdapter 类型的 @Bean@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
.
根据我的理解,Spring Security中各种安全功能的顺序如下(最低值,即最高优先级到最高值,即最低优先级)
-
Ordered.HIGHEST_PRECEDENCE
= -2^31-1
- WebSecurityConfigurerAdapter = 100 (Based on @Order(100) mentioned in Docs)
-
Access_Override_Order = Basic_Auth_Order -2
for 安全属性
-
Access_Override_Order = Basic_Auth_Order -1
for 管理服务器属性
Basic_Auth_Order-2
= 2^31-7
Basic_Auth_Order = Ordered.Lowest_Precendence -5 = 2^31-5
Ordered.LOWEST_PRECEDENCE = 2^31
问题2根据上面各种安全功能的顺序,如果我想覆盖管理端点和应用程序其余部分的默认规则,我应该使用
- 安全属性 ACCESS_OVERRIDE_ORDER 或
- 管理服务器属性 ACCESS_OVERRIDE_ORDER ?
我目前正在使用SecurityProperties ACCESS_OVERRIDE_ORDER
但根据建议here https://github.com/spring-projects/spring-boot/issues/8255为了让 ACTUATOR 工作,我需要启用ManagementServerProperties ACCESS_OVERRIDE_ORDER
。如果我想让两者都工作,我应该覆盖哪一个?
Thanks.
安全属性不再定义ACCESS_OVERRIDE_ORDER@Order 注释的常量。但是,如果应用程序定义了任何安全细节,Spring Boot 不再定义任何安全细节,因此我们不需要安全 @Configuration 类上的 @Order 注释,并且可以将其删除。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)