Grails:如何从控制器中检索UserDetails对象?

时间:2012-07-26 05:53:04

标签: grails spring-security

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

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

1 个答案:

答案 0 :(得分:6)

我正在使用2.0.4和spring安全插件,看起来你正在使用这个插件?

若是,请尝试:

// Inject 
def springSecurityService

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