我正在使用 Grails 1.3.7。我有一个自定义 UserDetails 对象,它在身份验证期间在我的 customUserDetailsService 中创建。我假设这个自定义 UserDetails 对象然后存储在 session 中的某个地方。但是,我找不到如何检索它。

我认为 SecurityContextHolder.getContext().getAuthentication().getDetails() 会这样做,但它返回一个类型的对象: org.springframework.security.web.authentication.WebAuthenticationDetails ,而不是我的自定义 UserDetails。

最佳答案

我正在使用 2.0.4 和 spring 安全插件,看起来您正在使用该插件?

如果是这样,请尝试:

// Inject
def springSecurityService

// Action
def index() {
  UserDetails currentUser = springSecurityService.principal
}

关于Grails:如何从 Controller 中检索 UserDetails 对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11663201/

10-11 09:05