1

如何仅使用一个参数调用 hasPermission 函数?

目前我有这样的事情:

@PreAuthorize("hasPermission('someResource', 'READ')")

我希望能够做到这一点:

@PreAuthorize("hasPermission('canReadSomeResource')")

有没有简单的方法来实现这一点?我基本上只想指定调用方法所需的权限,而不是资源和权限。

4

2 回答 2

2

的具体目的hasPermission()是检查用户是否被授权对特定域对象执行操作。如果您只想检查用户是否具有某种通用权限,您应该使用hasRole().

于 2013-10-15T23:28:39.803 回答
1

我认为您需要hasAuthority('canReadSomeResource')检查用户权限才能访问资源。

@PreAuthorize("hasAuthority('canReadSomeResource')")
public void myMethod(){
   ...
}

可以通过实现接口 将该权限 ( canReadSomeResource) 提供给 Spring Security 。UserDetailsService

于 2016-07-10T19:51:00.670 回答