Как переопределить функцию авторизации входа в Laravel - PullRequest
0 голосов
/ 26 июня 2018

Мне нужно переопределить функцию входа в систему laravel по умолчанию, однако меня смущает код, который я там нахожу. Я не понимаю, как laravel AuthenticatesUsers.php проверяет, что пользователь существует в БД, а затем аутентифицирует пользователя.

Я пришел к этой функции в AuthenticatesUsers.php

/**
 * Attempt to log the user into the application.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return bool
 */
protected function attemptLogin(Request $request)
{
    return $this->guard()->attempt(
        $this->credentials($request), $request->filled('remember')
    );
}

Полагаю, мне нужно переопределить эту функцию внутри auth / LoginController.php

но я не понимаю, как это работает. Где реализованы guard() и attempt(), я думаю, что реальное действие происходит там. Мне нужно добавить еще одно условие для входа в систему.

Кто-нибудь понимает, как работает логин по умолчанию в laravel? и эти две функции guard() и attempt(), например, попытка не реализована внутри самого AuthenticatesUsers.php, и я считаю, что эту функцию я должен переопределить.

Где я могу найти его реализацию?

1 Ответ

0 голосов
/ 26 июня 2018

Я бы предложил не переопределять никакие функции, вместо этого создать новые guard и provider. Посмотрите на config/auth.php, чтобы увидеть, как они определены.

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

См. Документацию по Добавление пользовательских ограждений

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