有没有一些很好的方法来检查某个特定的用户(不是登录的那个)是否具有某个特定的角色?
下面是grails示例(通常与普通Java相同,但语法相同):
def user = User.get(1) //Get user with id 1
if (ifAnyGranted(user,"ROLE_ADMIN")) { //This is the line I need to implement somehow
...
}提前谢谢。
发布于 2009-12-03 00:28:26
我假设您的用户域类包含一个对您的角色类的hasMany引用,如下所示:
class User {
static hasMany = [authorities: Role]
//....
}
class Role {
static belongsTo = User
String description
String authority
//....
}因此,您的角色检查代码很简单:
User user = User.get(1)
if (user.authorities.any { it.authority == "ROLE_ADMIN" }) {
// user is a admin
}可以在here上找到更新的答案。
发布于 2015-10-30 11:16:58
if (grails.plugin.springsecurity.SpringSecurityUtils.ifAllGranted("ROLE_ADMIN"))
{
...
}发布于 2009-12-16 08:01:13
如果您正在使用Spring Security插件,并且想要检查当前登录的用户:
import org.codehaus.groovy.grails.plugins.springsecurity.AuthorizeTools
. . .
if (AuthorizeTools.ifAllGranted("ROLE_ADMIN")){
//user is an admin
}https://stackoverflow.com/questions/1833712
复制相似问题