dev-master
9999999-dev
The Requires
Добавляет в проект простую авторизацию. Показывает форму с логин/паролем, при удачной авторизации пишет в сессию переменную loginVendorRole. Настроики в config/login.php Добавляет в проект роуты: /login /logout, (*1)
для Laravel 5.7, (*2)
"require": { "kemerovo-man/login-vendor": "5.7.*" }
для Laravel 5.8, (*3)
"require": { "kemerovo-man/login-vendor": "5.8.*" }
'providers' => [ KemerovoMan\LoginVendor\LoginVendorServiceProvider::class ]
php artisan vendor:publish, (*4)
настроить config/login.php, (*5)
можно настроить несколько ролей, в каждой роли настроить нескольких пользователей, и редирект для каждой роли., (*6)
Например:, (*7)
'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, (*8)
Например:, (*9)
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, (*10)
protected $routeMiddleware = [ 'isAdmin' => \KemerovoMan\LoginVendor\Middleware\IsAdminMiddleware::class ];