Выйдите из системы и перенаправьте пользователя обратно на блэйд входа с сообщением об изменении пароля в laravel - PullRequest
1 голос
/ 27 марта 2020

Я пытаюсь выйти из системы и перенаправить моего пользователя обратно на блейд-сервер после успешного изменения пароля пользователя.

Пока это мой контроллер (включена только функция),

public function store(Request $request)
    {
        $request->validate([
            'current_password' => ['required', new MatchOldPassword],
            'new_password' => ['required', 'string', 'min:12', 'confirmed','regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{12,}$/'],
            'new_confirm_password' => ['same:new_password'],
        ]);

        User::find(auth()->user()->id)->update(['password'=> Hash::make($request->new_password)]);

        //dd('Password change successfully.');

    }

Здесь, в случае успеха, как я могу выйти из системы и перенаправить моего пользователя обратно на блэйд входа с сообщением об успешном завершении (Пароль изменен. Пожалуйста, войдите в систему снова)

Ответы [ 3 ]

2 голосов
/ 27 марта 2020

У меня есть два решения этой проблемы. Просто добавьте функцию with, чтобы создать желаемое сообщение fla sh.


Решение 1: Go на AuthenticatesUsers.php и внутри функции logout изменить перенаправленный маршрут с / на /login. (Предполагая, что вы используете make:auth)
public function logout(Request $request)
{
    //more codes here

    return $request->wantsJson()
        ? new Response('', 204)
        : redirect('/login')->with('success', 'Password change successfully.');
}


Решение 2: Сделайте заказной. Создайте функцию контроллера и добавьте следующие коды:
public function logout()
{
    \Auth::logout();
    return redirect('/login')->with('success', 'Password change successfully.');
}
0 голосов
/ 27 марта 2020

Auth :: выход из системы (); return redirect ('/ login');

Для показа сообщения вы можете использовать

https://github.com/CodeSeven/toastr

0 голосов
/ 27 марта 2020

Я думаю, что вы можете перенаправить в свою функцию выхода из системы и вернуть сообщение сеанса в блейд-логин.

...