Как использовать имя пользователя для входа в систему с помощью Sentinel в Laravel?

Я использую 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.

Может кто-нибудь сказать мне, что я могу делать неправильно?

Спасибо 🙂

1

Решение

Решил это.

У меня тупо еще было

use Cartalyst\Sentinel\Native\Facades\Sentinel;

в верхней части моего файла rout.php и поэтому он использовал это вместо моего нового класса Users!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]