Рубрики
Uncategorized

Laravel 5.1 — многопользовательская аутентификация

Автор оригинала: 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/”