11

MyUserドメインクラスはSecUserを拡張します。

ユーザーには「email」というプロパティがあります。

SpringセキュリティはSecUserの「username」を使用してログインします。

ログインするには「email」を使用する必要があります。これを行う方法はありますか?

編集(受け入れられた回答から):

SecUserのusernameプロパティを削除し、emailプロパティを追加しました。

次に、この行をConfig.groovyに追加しました。

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

4

2 に答える 2

15

RTFM私の友人:)

http://grails-plugins.github.com/grails-spring-security-core/docs/manual/guide/single.html#4.1%20Person%20Class

userLookup.usernamePropertyName 'username'  User class username field

Config.grooyに追加します。

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

新しいバージョンのgrailsは、のプレフィックスを使用しています

grails.plugin.springsecurityそれ以外の grails.plugins.springsecurity

于 2012-08-24T01:02:12.040 に答える
1

Spring Security UIプラグインも使用している場合は、パスワードを忘れた場合のデフォルトのテキストとユーザー登録の電子メールがユーザー名フィールドを参照していることに注意してください。

次のようにオーバーライドできます。

grails.plugins.springsecurity.ui.register.emailBody = 'Hi \$user.firstName...'
grails.plugins.springsecurity.ui.forgotPassword.emailBody = 'Hi \$user.firstName...'
于 2014-04-27T15:32:36.290 に答える