我有 2 个子类,它扩展了 Grails 项目中的 SpringSecurity User 类。例子:
class MyUserOne extends User {
def email
def address
}
class MyUserTwo extends User {
def company
def town
}
我在 BootStrap 中创建了一些 MyUserOne 和 MyUserTwo 对象并将它们保存到测试数据库中,但是......当我像 MyUserOne 用户一样登录并尝试在 .gsp 文件中访问电子邮件字段时:
<sec:loggedInUserInfo field="email"/>
它抛出一个异常,说“电子邮件”不是用户类的属性,这是真的,但是,我怎样才能访问子类的字段?我用这个代码片段“解决了”这个问题:
def user = springSecurityService.currentUser
[userInstance: user]
在任何控制器中,然后我可以访问该字段
${userInstance.email}
...但是这样做我有两次相同的用户对象(userInstance和springSecurityService,我认为这不是正确的方法。
有什么解决办法吗?
谢谢