gpt4 book ai didi

java - Spring安全请求授权

转载 作者:行者123 更新时间:2023-12-01 19:50:16 25 4
gpt4 key购买 nike

我是 Spring Security 的新手,正在检查如何授权对我的应用程序中的 URL 的请求。

根据文档here ,我们添加授权如下:

protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/resources/**", "/signup", "/about").permitAll()
.antMatchers("/admin/**").hasRole("ADMIN")
.antMatchers("/db/**").access("hasRole('ADMIN') and hasRole('DBA')")
.anyRequest().authenticated()
.and()
// ...
.formLogin();
}

由于这种方法对我来说效果很好,我想知道是否有另一种动态方式来指定此配置。例如,通过为我们的 REST Controller 使用某种注释?

我心中有一个非常实用的解决方案,但我想确保在开始开发自己的代码之前没有其他方法可以做到这一点。

感谢您的帮助。

最佳答案

是的,有一个注释为@Secured/@PreAuthorize/@PostAuthorize。此注释是应用方法级安全性的首选方式,并且开箱即用地支持 Spring 表达式语言,并提供基于表达式的访问控制。

例如

@PreAuthorize("hasRole('ADMIN')")
公共(public)字符串 yourControllerMethod() {
返回响应;
}

详细检查here.

关于java - Spring安全请求授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51536461/

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