Я использую Sentinel для аутентификации пользователей в Laravel.
Я следовал этот руководство для входа с использованием имени пользователя, но это не похоже на работу!
У меня есть тестовый маршрут для проверки входа в систему, который выглядит следующим образом:
Route::get('/test-login', function()
{
Sentinel::authenticate([
'login' => 'nvaughan84',
'password' => 'password',
]);
//check login details
if($user = Sentinel::check())
{
print_r($user);
}
else
{
echo 'Not Logged';
}
});
Я создал модель Users, которая расширяет SentinelUser следующим образом:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Cartalyst\Sentinel\Users\EloquentUser as SentinelUser;
class Users extends SentinelUser
{
protected $fillable = [
'email',
'username',
'password',
'last_name',
'first_name',
'permissions',
];
protected $loginNames = ['username'];
}
И я обновил мой конфиг дозорного:
'users' => [
'model' => 'App\Users',
],
Если я добавлю ‘username’ в массив $ loginNames в классе Sentinel, он будет работать, но не будет использовать мой класс Users, который расширяет класс Sentinel.
Может кто-нибудь сказать мне, что я могу делать неправильно?
Спасибо 🙂
Решил это.
У меня тупо еще было
use Cartalyst\Sentinel\Native\Facades\Sentinel;
в верхней части моего файла rout.php и поэтому он использовал это вместо моего нового класса Users!
Других решений пока нет …