Многопользовательская аутентификация в Laravel 10: реализация нескольких методов аутентификации

В Laravel 10 реализация многопользовательской аутентификации имеет решающее значение для создания безопасных и масштабируемых веб-приложений. В этой статье будут рассмотрены несколько методов достижения многопользовательской аутентификации в Laravel 10, приведены примеры кода для каждого подхода. К концу этой статьи вы будете хорошо понимать, как реализовать многопользовательскую аутентификацию с использованием различных методов аутентификации в Laravel 10.

Метод 1: встроенная система аутентификации Laravel
Laravel предоставляет встроенную систему аутентификации, которая позволяет аутентифицировать пользователей с минимальной настройкой. Чтобы реализовать многопользовательскую аутентификацию с помощью этого метода, выполните следующие действия:

Шаг 1. Создайте структуру аутентификации

php artisan ui bootstrap --auth

Шаг 2. Создайте роли и разрешения пользователей (необязательно)
Вы можете создавать различные роли пользователей и разрешения для управления контролем доступа в вашем приложении. Вы можете использовать такие пакеты, как «spatie/laravel-permission», чтобы упростить этот процесс.

Метод 2: несколько средств защиты аутентификации
Laravel поддерживает несколько средств защиты аутентификации, что позволяет одновременно аутентифицировать разные типы пользователей. Вот пример:

Шаг 1. Определите несколько охранников в config/auth.php

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
    'admin' => [
        'driver' => 'session',
        'provider' => 'admins',
    ],
],

Шаг 2. Определите поставщиков пользователей для каждого охранника

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
    ],
    'admins' => [
        'driver' => 'eloquent',
        'model' => App\Models\Admin::class,
    ],
],

Метод 3: настраиваемое промежуточное ПО для аутентификации
Вы можете создать настраиваемое промежуточное ПО для аутентификации для удовлетворения требований многопользовательской аутентификации. Вот пример:

Шаг 1. Создайте собственное промежуточное программное обеспечение

php artisan make:middleware AuthenticateAdmin

Шаг 2. Реализация логики промежуточного программного обеспечения

public function handle($request, Closure $next)
{
    if (auth()->guard('admin')->guest()) {
        return redirect()->guest('admin/login');
    }
    return $next($request);
}

Шаг 3. Зарегистрируйте промежуточное ПО

protected $routeMiddleware = [
    'auth.admin' => \App\Http\Middleware\AuthenticateAdmin::class,
];

Реализация многопользовательской аутентификации имеет решающее значение для создания безопасных и надежных веб-приложений с использованием Laravel 10. В этой статье были рассмотрены три метода: встроенная система аутентификации Laravel, несколько средств защиты аутентификации и настраиваемое промежуточное программное обеспечение аутентификации. Каждый метод обеспечивает гибкий подход для удовлетворения требований многопользовательской аутентификации. Используя эти методы, вы можете создать масштабируемую и безопасную систему аутентификации в своем приложении Laravel 10.