2015-03-17 2 views
3

Я использую Sentinel от Cartalyst для аутентификации с помощью PHP. Традиционный способ аутентификации является использование электронной почты и пароль, мы можем прочитать в их документации:Как проверить подлинность с Sentinel по имени пользователя?

$credentials = [ 
    'email' => '[email protected]', 
    'password' => 'password', 
]; 

Sentinel::authenticate($credentials); 

По умолчанию используется пользователей таблица, предоставляемая библиотекой такова:

id | email | password | permissions |last_login | first_name | created_at | updated_at 

Я хочу добавить имя пользователя и подтвердить подлинность используя Sentinel по имя пользователя и пароль. Является ли это возможным?

ответ

6

Вы можете изменить этот пример здесь

http://naomiaro.com/2015/07/08/multiple-login-attributes-with-sentinel-and-laravel/

В модели пользователей необходимо переопределить атрибут $ loginNames, и добавить имя пользователя в атрибут $ заполняемых.

use Cartalyst\Sentinel\Users\EloquentUser as SentinelUser; 

class User extends SentinelUser { 

    protected $fillable = [ 
     'email', 
     'username', 
     'password', 
     'last_name', 
     'first_name', 
     'permissions', 
    ]; 

    protected $loginNames = ['username']; 

} 

Sentinel::authenticate([ 
    'username' => 'fake', 
    'password' => 'password' 
]); 
Смежные вопросы