无法从扩展SpringSecurity User类的类中获取字段(在Grails项目中)

时间:2013-03-06 00:42:45

标签: grails spring-security field extends

我有2个childs类,它扩展了Grails项目中的SpringSecurity User类。例如:

class MyUserOne extends User {
   def email
   def address
}

class MyUserTwo extends User {
   def company
   def town
}

我在BootStrap中创建了一些MyUserOne和MyUserTwo对象,然后将它们保存到测试数据库中,但是...当我像MyUserOne用户一样登录,并尝试在.gsp文件中访问电子邮件< / em>字段:

<sec:loggedInUserInfo field="email"/>

它抛出一个异常,说“email”不是User类的属性,这是真的,但是,我怎样才能访问子类的字段?我用这段代码解决了这个问题:

def user = springSecurityService.currentUser
[userInstance: user]

在任何控制器中,然后我可以访问该字段

${userInstance.email}

...但是这样做我有两次相同的用户对象( userInstance springSecurityService 我认为这不是正确的方式

有没有解决方案?

由于

1 个答案:

答案 0 :(得分:1)

您是否指定了springSecurity应该用作User对象的类?

grails.plugins.springsecurity.userLookup.userDomainClassName = 'com.project.MyUserOne'