Laravel создает много вещей из коробки, но в некоторых вещах многое пропускает. Я говорю об аутентификации, это все еще слишком сложно для создания в рамках.
Я все еще мечтаю о команде в ремесленнике, где я могу создать пустую аутентификацию, где я могу настроить все поля, которые я хочу, и не зависеть от предопределенных полей. Но поскольку у нас этого пока нет, давайте согласимся с тем, что имеем сейчас.
Ну, прошло уже около двух дней с тех пор, как я пробовал полностью настраиваемую аутентификацию, но это было настоящим испытанием. В настоящее время моя проблема заключается в изменении поля по умолчанию «пароль» на что-то другое, например «senha».
Для этого я следовал тому, что написано в документации ( Eloquent: Mutators ). Я сделал аксессор на своей модели, где находится новая таблица пользователей, где я назвал ее «клиент».
Итак, моя модель:
<?php
namespace App\Models;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class Cliente extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'nome', 'login', 'senha',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'senha', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
//protected $casts = [
// 'email_verified_at' => 'datetime',
//];
public function getAuthPassword()
{
return $this->senha;
}
protected $table = 'clientes';
protected $guard = 'clientes';
}
Самое смешное, что аксессор работает только на стандартной модели User, но в других моделях не работает.