我的用户域类扩展了 SecUser。
用户有一个属性“电子邮件”。
Spring security 使用 SecUser 的“用户名”登录。
我需要使用“电子邮件”登录。有没有办法做到这一点?
编辑(来自接受的答案):
我删除了 SecUser 的用户名属性并添加了电子邮件属性。
然后我将此行添加到 Config.groovy:
grails.plugins.springsecurity.userLookup.usernamePropertyName = 'email'
我的用户域类扩展了 SecUser。
用户有一个属性“电子邮件”。
Spring security 使用 SecUser 的“用户名”登录。
我需要使用“电子邮件”登录。有没有办法做到这一点?
编辑(来自接受的答案):
我删除了 SecUser 的用户名属性并添加了电子邮件属性。
然后我将此行添加到 Config.groovy:
grails.plugins.springsecurity.userLookup.usernamePropertyName = 'email'
RTFM 我的朋友 :)
userLookup.usernamePropertyName 'username' User class username field
添加到 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...'