我有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 ,我认为这不是正确的方式。
有没有解决方案?
由于
答案 0 :(得分:1)
您是否指定了springSecurity应该用作User对象的类?
grails.plugins.springsecurity.userLookup.userDomainClassName = 'com.project.MyUserOne'