如何只用一个参数调用hasPermission函数?
目前我有这样的事情:
@PreAuthorize("hasPermission('someResource', 'READ')")
我希望能够做到这一点:
@PreAuthorize("hasPermission('canReadSomeResource')")
有没有简单的方法来实现这一目标?我基本上只想指定调用方法所需的权限,而不是资源和权限。
答案 0 :(得分:2)
hasPermission()
的特定目的是检查用户是否有权对特定域对象执行操作。如果您只想检查用户是否具有某个通用权限,则应使用hasRole()
。
答案 1 :(得分:0)
我认为您需要hasAuthority('canReadSomeResource')
来检查用户访问资源的权限。
@PreAuthorize("hasAuthority('canReadSomeResource')")
public void myMethod(){
...
}
通过实现canReadSomeResource
接口,可以向spring安全性提供该权限(UserDetailsService
)。