Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#2 Laravel 5.x » Кастомная аутентификация Auth::attempt » 27.07.2017 07:56:26

rain_heart
Ответов: 2

При использовании фасада Auth смотрим функцию Auth::attempt версия Laravel 5.2

в доках есть конструкция:

if (Auth::attempt(['email' => $email, 'password' => $password], $remember)) {
    // The user is being remembered...
}

при этом поле 'email' может быть указанно любым и насколько я понял ссылается на поле с таким именем в БД через механизм Eloquent
но поле 'password' должно быть в БД именно с таким названием.

Проверил в /Illuminate/Auth/EloquentUserProvider.php

     /**
     * Validate a user against the given credentials.
     *
     * @param  \Illuminate\Contracts\Auth\Authenticatable  $user
     * @param  array  $credentials
     * @return bool
     */
    public function validateCredentials(UserContract $user, array $credentials)
    {
        $plain = $credentials['password'];

        return $this->hasher->check($plain, $user->getAuthPassword());
    }

при том что в /Illuminate/Foundation/Auth/AuthenticatesUsers.php

     /**
     * Get the needed authorization credentials from the request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    protected function getCredentials(Request $request)
    {
        return $request->only($this->loginUsername(), 'password');
    }

Так вот вопрос на засыпку можно ли как то поменять 'password' если в БД (уже готовой) оно называется по другому например 'pass'
Или надо полностью переписывать механизм: делать свой драйвер, сервиспровайдер, гард???
Просто надо логинится к уже существующей БД (без регистрации) городить огород ради этого как то не хо.

Подвал раздела