gpt4 book ai didi

spring-security - Spring Security - 自定义预授权注释?

转载 作者:行者123 更新时间:2023-12-04 16:04:34 39 4
gpt4 key购买 nike

我猜这里没有答案,但我想知道是否有办法创建这样的自定义注释:

@Documented
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
@PreAuthorize("hasAuthority('" + PermissionRequired.value() + "')") //doesn't work
public @interface PermissionRequired {
String value();
}

所以我可以这样做:

@PermissionRequired("CREATE_USER")
public User createuser(User newUser){
//..
}

但似乎没有办法引用组合注释,就像我在上面所做的那样。这看起来不像 @AliasFor 可以解决的问题,因为我没有直接使用该字段,而是将它与另一个字符串连接起来。

我的目标是创建不需要任何 SpEl 的安全注释。

最佳答案

JSR-250 助您一臂之力!

在您的应用程序类上启用它:

@EnableGlobalMethodSecurity(prePostEnabled = true, jsr250Enabled = true)
public class MyApplication {
//..
}

使用他们的注解:

@RolesAllowed({"ROLE_CREATE_USER"})
public User createuser(User newUser){
//..
}

不过,您的权限似乎需要“ROLE_”前缀。

关于spring-security - Spring Security - 自定义预授权注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36729007/

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