GrailsSpringSecurity使用电子邮件登录

GrailsSpringSecurity使用电子邮件登录,grails,login,spring-security,Grails,Login,Spring Security,我的用户域类扩展了SecUser 用户有一个属性“email” Spring security使用SecUser的“用户名”登录 我需要使用“电子邮件”登录。有办法做到这一点吗 编辑(来自已接受的答案): 我删除了SecUser的username属性并添加了email属性 然后我将这一行添加到Config.groovy中: grails.plugins.springsecurity.userLookup.usernamePropertyName='email'RTFM我的朋友:) 添加到Con

我的用户域类扩展了SecUser

用户有一个属性“email”

Spring security使用SecUser的“用户名”登录

我需要使用“电子邮件”登录。有办法做到这一点吗

编辑(来自已接受的答案):

我删除了SecUser的username属性并添加了email属性

然后我将这一行添加到Config.groovy中:

grails.plugins.springsecurity.userLookup.usernamePropertyName='email'

RTFM我的朋友:)

添加到Config.grooy:

grails.plugins.springsecurity.userLookup.usernamePropertyName='email'
较新版本的grails使用前缀


grails.plugin.springsecurity
而不是
grails.plugins.springsecurity
如果您也在使用Spring Security UI插件,请注意忘记密码和用户注册电子邮件的默认文本引用用户名字段

您可以这样覆盖它们:

grails.plugins.springsecurity.ui.register.emailBody = 'Hi \$user.firstName...'
grails.plugins.springsecurity.ui.forgotPassword.emailBody = 'Hi \$user.firstName...'

首先,我修改了答案在插件的配置文件中提到的行。显然,该文件没有进行版本化。然后,我意识到我必须覆盖Config.groovy文件中的配置。我添加了以下内容:grails.plugins.springsecurity.userLookup.usernamePropertyName='email'fyi,在较新版本的springsecurity中,前缀已更改。“您的安全配置设置使用了旧的前缀'grails.plugins.springsecurity',但现在必须使用'grails.plugin.springsecurity'”谢谢@EdJ,我在回答中添加了这个
grails.plugins.springsecurity.ui.register.emailBody = 'Hi \$user.firstName...'
grails.plugins.springsecurity.ui.forgotPassword.emailBody = 'Hi \$user.firstName...'