我有一个基本的Grails 2应用程序,我与SpringSecurityCore插件一起安装。这似乎工作正常。但是,当我尝试通过扩展类向我的User.groovy文件添加其他属性时,似乎无法在控制器中引用这些属性。Grails SpringSecurity用户对象
为了更好地说明这个问题,请看看我的基本类,它扩展了User.groovy:
UserInfo.groovy:
class UserInfo extends User {
String firstname
String lastname
}
在我的页面,在这里我想引用当前用户的名字,我只是写一个方法如下:
def index() {
def uname = springSecurityService.currentUser.username
def firstname = springSecurityService.currentUser.firstname
render uname
}
这工作正常进行渲染的用户名,而我认为,这是因为用户名参照的文CED在基座User.groovy文件:
class User {
transient springSecurityService
String username
String password
然而,上述“DEF指数()”当我尝试定义姓名作为springSecurityService.currentUser.firstname的一部分方法失败。 。
如果我注入额外的属性到基User.groovy类的话,我可以通过springSecurityService.currentUser的方式引用它们[属性]
为了说明这一点:
class User {
transient springSecurityService
String username
String password
String firstname
...
我再能够在前面提到的索引方法中引用我的用户的firstname属性。
是否有可能引用我的用户的扩展属性而不在基类User类中注入值?我的目标是尽可能保持User类的清洁,同时仍然可以调用UserInfo.groovy文件中引用的值。
预先感谢您的时间。