spring-security 检查ウWebSecurityConfigurerAdapter Ж中的方法是否存在ウ预授权Ж,

lyfkaqu1  于 2022-11-11  发布在  Spring
关注(0)|答案(1)|浏览(115)

我目前在我的Spring Boot应用程序中使用WebSecurityConfigurerAdapter。在那里我已经配置了安全检查的管道。还有这个:

http
   .authorizeRequests()
   .anyRequest()
   .authenticated()

现在我已经在方法中添加了@PreAuthorize("hasAuthority('SOME_ROLE')"),但是如果我错过了一个方法,默认的方法是允许的。我如何配置WebSecurityConfigurerAdapter来允许所有的请求,对于那些不包含任何PreAuthorize注解的方法?
我试过AccessDecisionManager,但它不起作用(或者我做错了什么)。
我该如何配置它呢?这应该是一件很容易的事情,因为permit应该是默认的,以保护应用程序。

nwlls2ji

nwlls2ji1#

我有一个当前的解决方案。由于所有的控制器都实现了一个基本控制器,所以我只是向基本控制器添加了@PreAuthorize("denyAll()")
然后如果实现没有用一个自定义值覆盖@PreAuthorize,那么每个请求都将被拒绝。这也是quarkus文档中的最佳实践:https://quarkus.io/guides/spring-security
@PreAuthorize("denyAll()")添加到方法将确保任何用户都无法访问该方法。将其添加到类将确保任何用户都无法访问该类中未使用任何其他Spring Security注解进行注解的所有公共方法。

相关问题