Laravel настроить логику для сброса логина / пароля - PullRequest
0 голосов
/ 17 мая 2018

Мне нужно настроить логику для аутентификации Laravel. Я нашел решение для SO, переопределив метод credentials в LoginController следующим образом:

return ['email' => $request->{$this->username()}, 'password' => $request->password, 'status_id' => $whatever];

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

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Вы можете создать новый столбец для вашей пользовательской таблицы isbanned, в котором исключается только логическое значение. И еще раз проверьте значение этого столбца пользователя, который запрашивает сброс пароля. Если значение TRUE, не указывайте ссылку для сброса, в противном случае укажите ее. Ниже вы можете увидеть этот пример:

if (Auth::attempt(array('phone' => $request->input('phone'), 'password' => $request->input('password'), 'isactive' => '1', 'isbannes' => '0'), $remember)){ // your logic }

Надеюсь, это поможет вам.

0 голосов
/ 17 мая 2018

В признаке ResetsPasswords есть метод resetPassword()

Переопределите это в вашем Auth/ResetPasswordController и замените строку

$this->guard()->login($user);

с любой функциональностью, которую вы хотите достичь после сброса пароля.

Если вы не хотите, чтобы отключенный пользователь мог сбросить свой пароль, используйте промежуточное ПО, чтобы проверить, отключена ли учетная запись, прежде чем продолжить сброс пароля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...