Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Работает!
При использовании фасада 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'
Или надо полностью переписывать механизм: делать свой драйвер, сервиспровайдер, гард???
Просто надо логинится к уже существующей БД (без регистрации) городить огород ради этого как то не хо.
Страницы 1