Spring security 具有spring安全性的自定义注释

Spring security 具有spring安全性的自定义注释,spring-security,Spring Security,我已经阅读了spring安全文档,并了解到我可以使用以下注释来检查主题是否有权编辑用户 @PreAuthorize("hasPermission('USER_EDIT')") public String editUSer(User user); 我想做的是编写我的自定义注释MyAutorizationCheck,并像下面那样使用它 @MyAuthorizationCheck(Application.USER_MANAGEMENT, AccessLevel.EDIT) public String

我已经阅读了spring安全文档,并了解到我可以使用以下注释来检查主题是否有权编辑用户

@PreAuthorize("hasPermission('USER_EDIT')")
public String editUSer(User user);
我想做的是编写我的自定义注释MyAutorizationCheck,并像下面那样使用它

@MyAuthorizationCheck(Application.USER_MANAGEMENT, AccessLevel.EDIT)
public String editUSer(User user);
其中应用程序和AccessLevel是枚举

enum Application{
    USER_MANAGEMENT, ORDER_MANAGEMENT
}

enum AccessLevel{
    READ, CREATE, UPDATE, DELETE
}
此批注的处理程序应该能够决定用户是否具有权限

如何实现这一点,有什么建议吗


多谢各位

这不是对你问题的直接回答

作为一项练习,您可以继续使用内置注释:

@PreAuthorize("hasPermission('USER_MANAGEMENT_READ')")
@PreAuthorize("hasPermission('USER_MANAGEMENT_CREATE')")
@PreAuthorize("hasPermission('USER_MANAGEMENT_UPDATE')")
@PreAuthorize("hasPermission('USER_MANAGEMENT_DELETE')")

@PreAuthorize("hasPermission('ORDER_MANAGEMENT_READ')")
@PreAuthorize("hasPermission('ORDER_MANAGEMENT_CREATE')")
@PreAuthorize("hasPermission('ORDER_MANAGEMENT_UPDATE')")
@PreAuthorize("hasPermission('ORDER_MANAGEMENT_DELETE')")