【问题标题】:forgotpassword functionality without using springsecurity在不使用弹簧安全的情况下忘记密码功能
【发布时间】:2018-11-03 07:06:00
【问题描述】:

在我的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])
        }
    }
}

它没有显示任何错误但没有结果

【问题讨论】:

    标签: spring grails groovy


    【解决方案1】:

    您应该:

    1. 查看/[yourController]/forgotPassword.gsp 以呈现您的flash.message
    2. 向输出 render 'email was sent' 渲染一些内容,这将仅在浏览器中显示此消息
    3. 设置响应的状态码(用于 REST 调用)response.status = 200

    【讨论】:

    • 描述你的问题
    猜你喜欢
    • 1970-01-01
    • 2011-05-18
    • 2013-12-09
    • 2011-10-19
    • 2011-09-28
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    • 2019-08-06
    相关资源
    最近更新 更多