在我的grails(2.4.4版)应用程序中,我使用邮件插件发送确认邮件,现在我需要实现忘记密码的代码。
我可以不使用Spring Security来实现它吗?
谢谢。
我喜欢在我的 UserController
中def forgotPassword={
if (params.email) {
User user = User.findByEmail(params.email)
if (user) {
def password = randomService.generateRandomString(6)
user.password = authenticateService.encodePassword(password)
if (!user.save(flush:true)) {
user.errors.each {
log.error "err $it"
}
flash.message = message(code: "UserController.msg.forgot.error")
} else {
UserService.sendmail {
to user.email
subject message(code:"UserController.mail.forgot.subject" )
body(view:"forgotPasswordEmail", model: [person:user, password:password])
}
flash.message = message(code:"UserController.msg.forgot", args:[user.email] )
}
} else {
flash.message = message(code:"UserController.msg.forgot.unknown", args:[params.email])
}
}
}
它没有显示任何错误但没有结果
答案 0 :(得分:0)
您应该:
/[yourController]/forgotPassword.gsp
来呈现您的flash.message
render 'email was sent'
渲染一些内容,使其仅在浏览器中显示此消息response.status = 200