Сбой Laravel Auth с электронной почтой дублированного пользователя - PullRequest
1 голос
/ 13 июня 2019

Мое приложение должно хранить одного и того же пользователя много раз. Это потому, что когда пользователь удаляется, я делаю логическое исключение, просто меняя поле статуса в пользовательской таблице. Однако, если у меня есть два пользователя с одним и тем же адресом электронной почты, Laravel Auth завершается ошибкой. Как я могу решить эту проблему? Как я могу настроить auth для рассмотрения этого поля состояния?

Ответы [ 2 ]

4 голосов
/ 13 июня 2019

Вы можете добавить пользовательское условие как:

if ( Auth::attempt(['email' => $email, 'password' => $password, 'status' => 1]) ) {
    // The user is active, not suspended, and exists.
}
0 голосов
/ 13 июня 2019

В LoginController вы можете переопределить метод учетных данных, который существует в признаке AuthenticatesUsers

/**
 * Get the needed authorization credentials from the request.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return array
 */
protected function credentials(Request $request)
{
    // return ['email' => .., 'password' => .., 'status' => 1];

    return $request->only($this->username(), 'password');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...