Автор оригинала: David Wong.
Многопользовательская аутентификация-это новая функция laravel 5.2 и выше, которая недоступна в laravel 5.1. Чтобы выполнить многопользовательскую аутентификацию в laravel 5.1, вам необходимо загрузить установочный пакет множественной аутентификации
Здесь мы используем установочный пакет/kb web/multiauth
Установка
Во-первых, в composer.json Введите в kbwebs/мультиавтор
"require": {
"kbwebs/multiauth": "~1.0"
}Тогда? обновление композитора
Идентификация
Сначала откройте config/app. php Заменить AuthServiceProvider Строчка
Осветить\Auth\AuthServiceProvider::класс -> Kbwebs\MultiAuth\AuthServiceProvider::класс
Затем откройте config/auth.php , измените следующее
'driver' => 'eloquent' 'model' => App\User::class, 'table' => 'users'
заменить на
'multi-auth' => [
'admin' => [
'driver' => 'eloquent',
'model' => App\Http\Models\Admin::class,
'table' => 'users'
],
'user' => [
'driver' => 'eloquent',
'model' => App\Http\Models\User::class,
'table' => 'users'
]
],Текущий auth.php Содержание в
[
'user' => [
'driver' => 'eloquent',
'model' => App\Http\Models\User::class,
'table' => 'users'
]
],
'password' => [
'email' => 'emails.auth.password',
'table' => 'password_resets',
'expire' => 60,
]
];Сброс Пароля
Если вы хотите сбросить свой пароль, вам необходимо выполнить следующий
Сначала откройте config/Сначала откройте
заменить Осветить\Аутентификацию\Пароли\Пароль:: класс по Kb webs\Многоавторитетный\Сброс пароля\PasswordResetServiceProvider::класс
останься App\Http\Models\User.php в взять использовать Illuminate\Auth\Пароли\CanResetPassword; использовать Illuminate\Контракты\Auth\CanResetPassword как CanResetPasswordКонтракт;
заменить на использовать Паутину\Многоавторитетный\Сброс пароля\CanResetPassword; использовать Паутину\Многоавторитетный\Сброс пароля\Контракты\CanResetPassword как CanResetPasswordКонтракт;
Регенерировать password_resets поверхность php artisan kbwebs:мульти-аутентификация:создание-сброс-таблицы php ремесленник мигрировать
Использование
Получить информацию о пользователе для входа Аутентификация::пользователь()->получить() ; возможно Аутентификация::пользователь()->получить()->роль ;
Примечание: Любое место с auth:: должно быть изменено на Auth::user()
В противном случае он запросит Исключение ошибки в EloquentUserProvider.php линия 112: Неопределенный индекс: пароль
найти найти
Поместите if (Auth::попытка($учетные данные, $запрос->имеет("запомнить"))) { Изменено на если (Аутентификация::пользователь()->попытка($учетные данные, $запрос->имеет("запомнить"))) {
этого будет достаточно
Перепечатайте, пожалуйста, укажите источник
Оригинал: “https://developpaper.com/laravel-5-1-multi-user-authentication/”