SpringSecurity : usuario não loga após alterar a senha
11/05/2012 16:19
class RegisterController extends grails.plugins.springsecurity.ui.RegisterController {
def forgotPassword = {
if (!request.post) {
// show the form
return
}
String email = params.email
if (!email) {
flash.error = message(code: 'spring.security.ui.forgotPassword.username.missing')
redirect action: 'forgotPassword'
return
}
String usernameFieldName = SpringSecurityUtils.securityConfig.userLookup.emailPropertyName
def user = lookupUserClass().findWhere((usernameFieldName): email)
if (!user) {
flash.error = message(code: 'spring.security.ui.forgotPassword.user.notFound')
redirect action: 'forgotPassword'
return
}
def registrationCode = new RegistrationCode(username: user.username)
registrationCode.save(flush: true)
String url = generateLink('resetPassword', [t: registrationCode.token])
def conf = SpringSecurityUtils.securityConfig
def body = conf.ui.forgotPassword.emailBody
if (body.contains('$')) {
body = evaluate(body, [user: user, url: url])
}
mailService.sendMail {
to user.email
from conf.ui.forgotPassword.emailFrom
subject conf.ui.forgotPassword.emailSubject
html body.toString()
}
[emailSent: true]
}
}
//package br.com.jambu.cge.security
import org.codehaus.groovy.grails.plugins.springsecurity.SpringSecurityUtils
import org.codehaus.groovy.grails.plugins.springsecurity.ui.RegistrationCode
import br.com.jambu.cge.*
class RegisterController extends grails.plugins.springsecurity.ui.RegisterController {
def forgotPassword = {
if (!request.post) {
// show the form
return
}
String email = params.email
if (!email) {
flash.error = message(code: 'spring.security.ui.forgotPassword.username.missing')
redirect action: 'forgotPassword'
return
}
String usernameFieldName = SpringSecurityUtils.securityConfig.userLookup.emailPropertyName
def user = lookupUserClass().findWhere((usernameFieldName): email)
if (!user) {
flash.error = message(code: 'spring.security.ui.forgotPassword.user.notFound')
redirect action: 'forgotPassword'
return
}
def registrationCode = new RegistrationCode(username: user.username)
registrationCode.save(flush: true)
String url = generateLink('resetPassword', [t: registrationCode.token])
def conf = SpringSecurityUtils.securityConfig
def body = conf.ui.forgotPassword.emailBody
if (body.contains('$')) {
body = evaluate(body, [user: user, url: url])
}
mailService.sendMail {
to user.email
from conf.ui.forgotPassword.emailFrom
subject conf.ui.forgotPassword.emailSubject
html body.toString()
}
[emailSent: true]
}
}
/*def beforeUpdate() {
if (isDirty('password')) {
encodePassword()
}
}*/
grails.plugins.springsecurity.ui.encodePassword = false
Para se registrar, clique aqui.