2013-08-07 191 views
1

我已阅读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 
} 

这个注释的处理程序应该能够决定用户是否有权限。

任何指针如何实现这个?

谢谢。

+0

你有没有找到一个解决这个?我有同样的问题没有答案。 – user1751547

回答

0

这不是对你的问题的直接回应。

作为workoround你可以继续使用内置的注释:

@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')")