Функциональность забытого пароля без использования Springsecurity - PullRequest
0 голосов
/ 03 ноября 2018

В приложении Grails (версия 2.4.4) я использую почтовый плагин для отправки писем с подтверждением, теперь мне нужно внедрить код для забытого пароля.

Могу ли я добиться этого без использования пружинной защиты?

с благодарностью ..

Мне понравилось в My 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])
        }
    }
}

ошибка не отображается, но нет результата

1 Ответ

0 голосов
/ 03 ноября 2018

Вы должны либо:

  1. есть представление /[yourController]/forgotPassword.gsp для рендеринга вашего flash.message
  2. рендерит что-то на вывод render 'email was sent', который будет отображать это сообщение только в браузере
  3. установить код состояния вашего ответа (для вызова REST) ​​response.status = 200
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...