我使用的是Grails 1.3.7。我有一个自定义UserDetails
对象,在身份验证期间在我的customUserDetailsService
中创建。我假设这个自定义UserDetails
对象随后存储在某个会话中。但是,我找不到如何检索它。
我认为SecurityContextHolder.getContext().getAuthentication().getDetails()
会这样做,但会返回类型为org.springframework.security.web.authentication.WebAuthenticationDetails
的对象,而不是我的自定义UserDetails。
答案 0 :(得分:6)
我正在使用2.0.4和spring安全插件,看起来你正在使用这个插件?
若是,请尝试:
// Inject
def springSecurityService
// Action
def index() {
UserDetails currentUser = springSecurityService.principal
}