Laravel 5.6 Auth для разных таблиц в БД - PullRequest
0 голосов

Laravel 5.6 использует Auth со своей таблицей базы данных - по умолчанию «users». Мне нужно создать 2 разных пользователей - простого пользователя и пользователя-администратора, поэтому каждый из них будет использовать свой собственный метод Auth и подключаться к своей таблице базы данных.

Например: Auth :: user (); - с таблицей «пользователи» и мне нужно создать еще один auth, как Auth :: admin (); - со столом 'admin'

Как я могу это сделать? Может быть, скопировать и создать еще один Auth?

(я использую API и паспорт Ларавела).

Мне не нужно создавать новые поля в таблице пользователей. Мне нужно создать новую таблицу.

1 Ответ

0 голосов
/ 28 июня 2018

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

php artisan make:middleware Admin

Это создает файл промежуточного программного обеспечения с именем Admin.php

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

'admin' => \App\Http\Middleware\Admin::class

Добавление промежуточного программного обеспечения администратора к маршруту в файле route.php

get('protected', ['middleware' => ['auth', 'admin'], function() {
    return "this page requires that you be logged in and an Admin";
}]);

Добавьте метод isAdmin () в модель User для проверки, является ли он администратором.

public function isAdmin()
{
    return $this->admin; // this looks for an admin column in your users table
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...