查找当前登录用户的用户角色

时间:2014-08-15 09:05:35

标签: grails spring-security

我想知道当前登录的用户用户角色。

我的申请中有2个角色。

USER_ROLE和ADMIN_ROLE

我如何知道当前登录的用户是否属于上述角色之一。

我尝试了以下代码并收到错误:

org.grails.plugins.springsecurity.service.AuthenticateService authenticateService = new org.grails.plugins.springsecurity.service.AuthenticateService()
def isAdmin = authenticateService.ifAllGranted('ROLE_ADMIN')

if(isAdmin) {
   println 'I am Admin'
}

错误是:

Groovy:unable to resolve class 

org.grails.plugins.springsecurity.service.AuthenticateService

- Groovy:unable to resolve class 

我正在使用grails 2.2.4

SPring security ---->编译':spring-security-core:2.0-RC2'

2 个答案:

答案 0 :(得分:2)

您可以通过SpringSecurityUtils

上的静态方法找到此信息
if(SpringSecurityUtils.ifAllGranted("ROLE_ADMIN")) ....

答案 1 :(得分:2)

不确定从哪里得到,但你需要:

boolean isAdmin = grails.plugin.springsecurity.SpringSecurityUtils.ifAllGranted('ROLE_ADMIN')
相关问题