2012-08-24 10 views
11

Meine Benutzerdomänenklasse erweitert SecUser.Grails Spring Security E-Mail zum Anmelden verwenden

Benutzer hat eine Eigenschaft 'email'.

Die Spring-Sicherheit verwendet den Benutzernamen von SecUser, um sich anzumelden.

Ich muss "E-Mail" verwenden, um mich anzumelden. Gibt es eine Möglichkeit, dies zu tun?

Edit (von der akzeptierten Antwort):

ich SecUser Benutzername Eigenschaft gelöscht und Email-Eigenschaft hinzugefügt.

Dann habe ich diese Zeile Config.groovy:

grails.plugins.springsecurity.userLookup.usernamePropertyName = 'E-Mail'

Antwort

15

RTFM mein Freund :)

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 

Zur Konfig.Grooy hinzufügen:

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

neuere Versionen von Grails werden mit einem Präfix von

grails.plugin.springsecurity statt grails.plugins.springsecurity

+0

Dank! Ich machte endlich ir Arbeit –

+0

Zuerst änderte ich die Zeile, die die Antwort in einer Konfigurationsdatei des Plugins erwähnt. Offensichtlich wurde diese Datei nicht versioniert. Dann erkannte ich, dass ich die Konfiguration in der Datei Config.groovy überschreiben musste. Ich habe folgendes hinzugefügt: grails.plugins.springsecurity.userLookup.usernamePropertyName = 'email' –

+0

fyi, in neueren Versionen der Federsicherheit hat sich das Präfix geändert. "Ihre Sicherheitskonfigurationseinstellungen verwenden das alte Präfix 'grails.plugins.springsecurity', müssen jetzt aber 'grails.plugin.springsecurity' verwenden." –

0

Wenn Sie auch die Spring Security UI-Plugin beachten Sie, dass der Standardtext für vergessenes Passwort und Benutzerregistrierung E-Mails unter Verwendung von Referenz das Feld Benutzername

Sie können sie wie folgt außer Kraft setzen:

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