Я создал AdminMiddleware, и я написал код, упомянутый ниже, но Auth :: user не будет работать, потому что я хочу использовать таблицу администратора вместо таблицы пользователей.
public function handle($request, Closure $next)
{
$Admin = \App\Admin::all()->count();
if (!($Admin == 1)) {
if (!Auth::user()->hasPermissionTo('Administer roles & permissions')) //If user does //not have this permission
{
abort('401');
}
}
return $next($request);
}






Вам необходимо изменить класс модели App\User на класс модели App\Admin (вам необходимо его создать).
Редактировать файл config/auth.php, ключ prowiders.users.model установить на App\Admin
Это всего лишь «переименование» таблицы / модели User в таблицу / модель Admin, поэтому я думаю, что вы можете делать все, что можете, в стандартном подходе (таблица / модель пользователя).
если я создам другого провайдера, такого как provider.admin, чем я могу получить доступ в приведенном ниже фрагменте. Auth: :( что здесь идет)
Auth::user() вернет объект модели Admin. Таким образом, он будет работать без каких-либо изменений (мы не меняем методы аутентификации)
Ничего страшного, я понял, но мне нужен Auth::user() для пользовательской таблицы или авторизации, связанной с пользователем, поэтому я не хочу это менять. вот почему я спросил вас, создам ли я нового провайдера, чем как мне получить к нему доступ?
В своем вопросе вы пишете i want to use Admin table instead of user table - поэтому я вам на это отвечу. Если вы хотите аутентификацию с использованием многопользовательских таблиц, это сложнее, насколько я знаю - может быть, это поможет вам: scotch.io/@sukelali/… или попробуйте найти какую-нибудь библиотеку laravel для этого
У администратора есть несколько ролей, которыми я хочу управлять с помощью таблицы администратора, ролей и разрешений, и я хочу создать отдельную таблицу пользователей для авторизации, чем она будет работать в этом случае?