我使用的是springsecurity,需要在控制器中获取用户域对象。
如果我打电话 SpringSecurityService.getPrincipal() ,我得到一个类型为 org.codehaus.groovy.grails.plugins.springsecurity.GrailsUser . 但是,我要找的是我在我的文档中定义的用户域对象 Config.groovy 像这样:
SpringSecurityService.getPrincipal()
org.codehaus.groovy.grails.plugins.springsecurity.GrailsUser
Config.groovy
grails.plugins.springsecurity.userLookup.userDomainClassName = 'project.auth.User'
如何才能最好地获取用户域对象?
使用GrailsUser实例中的缓存id加载用户实例:
def user = User.get(SpringSecurityService.principal.id)