我結束了保持默認的密碼,並用電子郵件代替用戶名,我只是簡單地更換每一個「用戶名」,在Person類的「電子郵件」:
package ma.ac.uir.ecine.authentification
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString
@EqualsAndHashCode(includes='email')
@ToString(includes='email', includeNames=true, includePackage=false)
class Personne implements Serializable {
private static final long serialVersionUID = 1
transient springSecurityService
String email
String password
boolean enabled = true
boolean accountExpired
boolean accountLocked
boolean passwordExpired
Personne(String email, String password) {
this()
this.email = email
this.password = password
}
Set<Role> getAuthorities() {
PersonneRole.findAllByPersonne(this)*.role
}
def beforeInsert() {
encodePassword()
}
def beforeUpdate() {
if (isDirty('password')) {
encodePassword()
}
}
protected void encodePassword() {
password = springSecurityService?.passwordEncoder ? springSecurityService.encodePassword(password) : password
}
static transients = ['springSecurityService']
static constraints = {
password blank: false, password: true
email blank: false, unique: true
}
static mapping = {
password column: '`password`'
}
}
,並添加
grails.plugin.springsecurity.userLookup.usernamePropertyName= 'email'
到application.groovy
我不能取代密碼。
當您運行此操作時,您是否收到錯誤或者您是否沒有獲得預期結果? –
是的,我完成了只更換電子郵件和保持密碼,它現在工作,我會分享我所做的 – hereForLearing