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

标签 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 安全性---->编译':spring-security-core:2.0-RC2'

最佳答案

您可以通过SpringSecurityUtils类上的静态方法找到此信息。

if(SpringSecurityUtils.ifAllGranted("ROLE_ADMIN")) ....

关于grails - 查找当前登录用户的用户角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25323871/

相关文章:

spring-security - Spring Data JPA 和 spring-security : filter on database level (especially for paging)

grails - (grails) com.sun.mail.smtp.SMTPSendFailedException : 553 Relaying disallowed as zoho mail

grails - grails v3.2.6/gorm嵌入式类在同一域类中。groovy创建虚拟数据库表

debugging - 如何让IDEA像GGTS 3.5一样直接调试grails 2.3.x应用程序?

grails - Grails中最好的迁移插件?

spring - 在 3.0.x 版本中禁用 Spring 方法安全性

java - H2 控制台和 Spring Security - permitAll() 不工作

security - Grails 如何记录安全插件事件

java - 如何使 MultipartFilter 与 Spring Boot 一起使用

authentication - Grails:如何获取当前登录用户的信息?