Я использую Sentinel от Cartalyst для аутентификации с помощью PHP. Традиционным способом аутентификации является использование электронной почты и пароля, которые мы можем прочитать в их документации:
$credentials = [ 'email' => 'john.doe@example.com', 'password' => 'password', ]; Sentinel::authenticate($credentials);
Таблица пользователей по умолчанию, предоставляемая библиотекой, такова:
id | email | password | permissions |last_login | first_name | created_at | updated_at
Я хочу добавить столбец имени пользователя и выполнить аутентификацию с помощью Sentinel по имени пользователя и паролю . Является ли это возможным?
Вы можете изменить этот пример здесь
http://naomiaro.com/2015/07/08/multiple-login-attributes-with-sentinel-and-laravel/
В модели «Пользователи» вы должны переопределить атрибут $ loginNames и добавить имя пользователя в атрибут $ fillable.
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' ]);