Laravel проверять старый пароль, когда меняете новый пароль - PullRequest
0 голосов
/ 28 апреля 2018

Я хочу проверить, передал ли пользователь ввод new_password в качестве текущего пароля, я хочу перенаправить сообщение: Your current password can't be with new password. Как я могу это проверить? Я хочу, чтобы система сменила пароль пользователя, но я хочу, чтобы старые пароли были запрещены. Как я могу это сделать?

if (!(Hash::check($request->old_password, Auth::user()->password))) {
    return response()->json(['errors' => ['Your current password can't be with new password']], 400);
}

Код не работает. Нужно ли записывать старые пароли в базу данных?

Ответы [ 3 ]

0 голосов
/ 28 апреля 2018
use Illuminate\Support\Facades\Hash;
$user = User::findOrFail($id);

/*
* Validate all input fields
*/
$this->validate($request, [
    'password' => Auth::user()->password,
    'new_password' => 'confirmed|max:8|different:password',
]);

if (Hash::check($request->password, $user->password)) { 
   $user->fill([
    'password' => Hash::make($request->newPassword)
    ])->save();

   $request->session()->flash('success', 'Password changed');
    return redirect()->route('your.route');

} else {
    $request->session()->flash('error', 'Password does not match');
    return redirect()->route('your.route');
}
0 голосов
/ 18 июня 2019

Проверьте поле старого пароля по отношению к парольному паролю и верните сообщение об ошибке с последующей проверкой.

if (!Hash::check($request['old_password'], Auth::user()->password)) {
      return response()->json(['error' => ['The old password does not match our records.'] ]);
 }

Вам также необходимо включить следующие библиотеки в ваш контроллер.

use Auth;
use Illuminate\Support\Facades\Hash;
0 голосов
/ 28 апреля 2018

Вы можете сделать это

if ( Hash::make($request->new_password) == Auth::user()->password) {
        return response()->json(['errors' => ['Your current password can't be with new password']], 400);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...