kemerovo-man/login-vendor

There is no license information available for the latest version (6.0.2) of this package.

6.0.2 2020-03-16 04:36 UTC

README

Добавляет в проект простую авторизацию. Показывает форму с логин/паролем, при удачной авторизации пишет в сессию переменную loginVendorRole. Настроики в config/login.php Добавляет в проект роуты: /login /logout

Установка

  1. добавить в composer.json

для Laravel 5.7

    "require": {
        "kemerovo-man/login-vendor": "5.7.*"
    }

для Laravel 5.8

    "require": {
        "kemerovo-man/login-vendor": "5.8.*"
    }
  1. добавить в app.conf
    'providers' => [
        KemerovoMan\LoginVendor\LoginVendorServiceProvider::class
    ]
  1. php artisan vendor:publish

  2. настроить config/login.php

можно настроить несколько ролей, в каждой роли настроить нескольких пользователей, и редирект для каждой роли.

Например:

'roles' => [
        'admin' => [
            'redirectTo' => env('LOGIN_ADMIN_REDIRECT_TO'),
            'credentials' => [
                [
                    'login' => env('LOGIN_ADMIN_LOGIN'),
                    'password' => env('LOGIN_ADMIN_PASSWORD')
                ]
            ]
        ],
        'user' => [
            'redirectTo' => env('LOGIN_USER_REDIRECT_TO'),
            'credentials' => [
                [
                    'login' => env('LOGIN_USER_LOGIN'),
                    'password' => env('LOGIN_USER_PASSWORD')
                ]
            ]
        ]
    ]

Создать Middleware с проверкой в сессии переменной loginVendorRole

Например:

class IsAdminMiddleware
{
    public function handle($request, Closure $next)
    {
        if (session('loginVendorRole') == 'admin') {
            return $next($request);
        } else {
            return redirect()
                ->action('\KemerovoMan\LoginVendor\LoginController@index');
        }
    }
}

или использовать готовую: добавить в app\Http\Kernel.php

   protected $routeMiddleware = [
          'isAdmin' => \KemerovoMan\LoginVendor\Middleware\IsAdminMiddleware::class
      ];