gpt4 book ai didi

java - 使用@PreAuthorize时的安全配置

转载 作者:太空宇宙 更新时间:2023-11-04 14:29:20 25 4
gpt4 key购买 nike

我的安全配置类(继承自WebSecurityConfigurerAdapter)具有如下方法。

@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/restaurant/**").access("hasRole('ROLE_USER')")
.and()
.formLogin();
}

但是我宁愿在我的 Controller 上使用@PreAuthorize。如果我删除该方法,则一切都需要身份验证。我的方法应该是什么样子,以便一切都可用并且访问仅由 PreAuthorize 确定?

最佳答案

正如已经指出的,使用方法级安全性来保护 Controller 方法并不常见,而是使用业务逻辑来保护方法。即使您需要根据请求属性执行授权,也应该可以通过基于 URL 的安全性和 Web 安全表达式来实现这一点。

Available expressions are defined by WebSecurityExpressionRoot class, an instance of which is used as the expression root object when evaluation web-access expressions. This object also directly exposed the HttpServletRequest object under the name request so you can invoke the request directly in an expression.

Here您可以找到有关何时使用基于 URL 的安全性以及何时使用方法级别安全性的更多详细信息。

关于java - 使用@PreAuthorize时的安全配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26329564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com