J'utilise grails version 2.1.0 dans mon application et j'ai une insertion avant dans ma classe de domaine qui code le mot de passe comme ci-dessous.BeforeInsert et BeforeUpdate sont lancés deux fois dans la classe de domaine grails
package com.valuelabs.bets.security
classe Secuser { de springSecurityService transitoire
String username
String password
String emailId
String mobileNumber
String position
boolean enabled
boolean accountExpired
boolean accountLocked
boolean passwordExpired
boolean firstTimeLogin
String userstatus
String userRole
Date activateDate
Date expireDate = new Date()
Audit audit
static embedded = ['audit']
static mapping = {
password column: '`password`'
sort "username"
}
def beforeInsert() {
println "in before insert"
encodePassword()
}
def beforeUpdate() {
println "in before update"
if (isDirty('password')) {
encodePassword()
}
audit.lastUpdated = new Date()
}
protected void encodePassword() {
println " Before ========================> "+ password
if(springSecurityService){
password = springSecurityService.encodePassword(password)
}
println " springSecurityService "+ springSecurityService +" password "+password
}
Set<SecRole> getAuthorities() {
SecUserSecRole.findAllBySecUser(this).collect { it.secRole } as Set
}
String toString(){
username
}
static transients = ['userstatus','userRole']
}
Voici ma logique de commande
if (!secUserInstance.save(flush:true)) {
println "13"
//secUserInstance.errors.allErrors.each { println it }
render(view: "create", model: [secUserInstance: secUserInstance,curRole:""])
return
}
maintenant le problème est le mot de passe est encoder deux fois quand je sav e l'instance.
S'il vous plaît laissez-moi savoir si il y a un problème avec la version de gravier, le cas échéant s'il vous plaît laissez-moi savoir la bonne version ou la solution possible.
Pouvez-vous s'il vous plaît écrire un peu plus de code du contrôleur et des services où vous écrivez le code de sauvegarde et fournissez également votre structure de domaine. – user1791574
J'ai changé le code briefing le domaine, le contrôleur. S'il vous plaît regardez – Srinivas21