首页 > 解决方案 > @PreAuthorize 带有允许角色列表的注释包装器

问题描述

我想创建一个自定义Allows注释,其中包含@PreAuthorize并具有一组允许的角色。

最好看起来像这样:

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@PreAuthorize("@accessService.isAllowed(#values, authentication.principal)")
public @interface Allows {
    String[] values() default {};
}

不幸的是,我不能使用基于 spring 的方法,因为应用程序有两组不同的角色,一个用于身份验证,一个用于授权。

有没有办法将这样的角色数组传递给@PreAuthorizeSPeL?

标签: javaspringspring-bootspring-security

解决方案


推荐阅读