Intereting Posts
Встроенные изображения, превышающие длину Запрос Curl, показывающий различный контент по сравнению с запросом браузера Доступ к переменным ViewModel при событии отправки Загрузите несколько файлов в виде zip-файла, используя php Как написать простой объект в PHP возвращающие переменные из файла AJAX / php Разрешения файла и CHMOD: Как установить 777 в PHP при создании файла? Создание дерева из плоского массива в PHP заголовки уже отправлены через флеш-функцию? Почему PHP не автоматически вызывает родительские конструкторы? Эхо HTML с PHP внутри PHP-кодировка символов для чтения csv-файла с fgets CodeIgniter Две таблицы Left Join не возвращает идентификатор условия соединения левой таблицы при пропуске в правой таблице Ограничение количества символов, отображаемых в ячейке таблицы Как отобразить Json Data в пользовательском интерфейсе автозаполнения JQuery?

Как использовать multi Auth в laravel 5.2

Кто-нибудь знает, как использовать multi authenticate в laravel 5.2!
Я хочу использовать это, но я не знаю, как это сделать?
у кого-нибудь есть учебник или проект, настраивающий мульти-аутентификацию?

Вам нужны две таблицы users и admins Запустите команду, следующую команду, чтобы создать встроенный auth

 php artisan make:auth 

Две модели пользователей (уже существуют) и Admin

 <?php namespace App; use Illuminate\Foundation\Auth\User as Authenticatable; class Admin extends Authenticatable { } 

Сначала мы создаем две модели: пользователь и администратор

Затем мы обновляем файл config / auth.php:

 return [ 'defaults' => [ 'guard' => 'user', 'passwords' => 'user', ], 'guards' => [ 'user' => [ 'driver' => 'session', 'provider' => 'user', ], 'admin' => [ 'driver' => 'session', 'provider' => 'admin', ], ], 'providers' => [ 'user' => [ 'driver' => 'eloquent', 'model' => 'App\User', ], 'admin' => [ 'driver' => 'eloquent', 'model' => 'App\Admin', ], ], 'passwords' => [ 'user' => [ 'provider' => 'user', 'email' => 'auth.emails.password', 'table' => 'password_resets', 'expire' => 60, ], 'admin' => [ 'provider' => 'admin', 'email' => 'auth.emails.password', 'table' => 'password_resets', 'expire' => 60, ] ] ]; 

Теперь измените файл app / Http / kernel.php:

 protected $middleware = [ \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class ]; protected $middlewareGroups = [ 'web' => [ \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class ], 'api' => [ 'throttle:60,1', ], ]; 

Создайте LoginController и установите в нем следующий код.

Примечание. Вам необходимо создать страницы входа для «пользователя», а также «admin». Затем вам необходимо отправить запросы формы входа в соответствующую функцию контроллера, т.е. userLogin() или adminLogin() .

 namespace App\Http\Controllers; use Auth, Input; use App\User; use App\Admin; class LoginController extends Controller { public function userLogin(){ $input = Input::all(); if(count($input) > 0){ $auth = auth()->guard('user'); $credentials = [ 'email' => $input['email'], 'password' => $input['password'], ]; if ($auth->attempt($credentials)) { return redirect()->action('LoginController@profile'); } else { echo 'Error'; } } else { return view('user.login'); } } public function adminLogin(){ $input = Input::all(); if(count($input) > 0){ $auth = auth()->guard('admin'); $credentials = [ 'email' => $input['email'], 'password' => $input['password'], ]; if ($auth->attempt($credentials)) { return redirect()->action('LoginController@profile'); } else { echo 'Error'; } } else { return view('admin.login'); } } public function profile(){ if(auth()->guard('admin')->check()){ pr(auth()->guard('admin')->user()->toArray()); } if(auth()->guard('user')->check()){ pr(auth()->guard('user')->user()->toArray()); } } } 

В большинстве случаев я просто добавляю поле в таблицу пользователя с именем usertype и передаю соответствующие значения, такие как 0 = admin, 1 = пользователь и т. Д.

Этот подход помогает избежать ненужной головной боли при создании разных пользовательских ролей или типов.

Хотя это может показаться не идеальным, но помогает экономить много времени.