我正在使用 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/