用户名存储在连接的对象中

时间:2015-04-19 22:28:28

标签: grails spring-security

我正在使用grails,我有以下域类:

class User {

    transient springSecurityService

    String password
    static belongsTo = [person: Person]
 } 

class Person {
    String name
    String emailAddress
     ....
}

我想使用person对象的电子邮件地址作为Spring Security中的用户名。

根据Spring Security手册,只需将grails.plugins.springsecurity.userLookup.usernamePropertyName的属性设置为非“用户名”字段即可。

我已经尝试过person.emailAddress,但这不起作用。

如何让Spring安全性使用Person对用户的引用?我不能把密码放在Person类上,我试图使用继承(这会带来其他问题)。


所以我把它追溯到GormUserDetailsService,在那里被召唤和称赞。用于查找用户的代码是:

    def user = User.findWhere((conf.userLookup.usernamePropertyName): username)
    if (!user) {
        log.warn "User not found: $username"

我如何构造userNamePropertyName以便我可以通过子属性查看它?

0 个答案:

没有答案