La classe dominio utente dell'utente estende SecUser.Grails Spring Security utilizza l'e-mail per l'accesso
L'utente ha una proprietà "email".
La sicurezza Spring utilizza "username" di SecUser per accedere.
Ho bisogno di utilizzare "email" per accedere. C'è un modo per fare questo?
Edit (dalla risposta accettata):
ho cancellato proprietà nome utente di SecUser e ha aggiunto di proprietà e-mail.
poi ho aggiunto questa linea a Config.groovy:
grails.plugins.springsecurity.userLookup.usernamePropertyName = 'email'
Grazie! Ho finalmente realizzato il lavoro –
Per prima cosa ho modificato la riga che la risposta menziona in un file di configurazione del plugin. Ovviamente, quel file non è stato versionato. Poi, ho capito che dovevo scavalcare la configurazione nel file Config.groovy. Ho aggiunto quanto segue: grails.plugins.springsecurity.userLookup.usernamePropertyName = 'email' –
fyi, nelle versioni più recenti di Spring Security, il prefisso è cambiato. "Le tue impostazioni di configurazione della sicurezza usano il vecchio prefisso 'grails.plugins.springsecurity', ma ora devono usare 'grails.plugin.springsecurity'" –