Laravel 5.7 — как определить супер-пользователя для управления регистрацией всех пользователей

нужна помощь по аутентификации пользователя Laravel. мои знания о Laravel очень малы, я имел опыт развертывания веб-приложения на основе чистого / чистого PHP (никогда не имел опыта работы с фреймворком).

Идея состоит в том, чтобы позволить оператору ввести первого и только одного пользователя в систему через стандартный процесс регистрации Laravel, и этот пользователь автоматически станет суперпользователем.

Функция суперпользователя — управлять регистрацией обычного пользователя (внутри сеанса суперпользователя), создавая пользователя & пароль и определить роль обычных пользователей.

Я определяю пользовательскую таблицу следующим образом: я добавляю столбец user_role для различающихся ролей между пользователями.

    Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->char('user_role')->nullable();
$table->rememberToken();
$table->timestamps();
});

Значение user_role для суперпользователя должно быть 0, тогда как другая роль обычного пользователя должна быть числами от 1 до 9.

содержимое / просмотры каждого раздела веб-страницы будут отображаться в зависимости от значения user_role.

нужна помощь как:

  1. дисплей user-registration page/url если ни один пользователь не определен в таблице пользователей.
  2. Мне нужно проверять ‘user_role’ каждый раз, когда мне нужно отобразить раздел страницы. как этого добиться?

0

Решение

Из вашей структуры таблицы я предполагаю, что вы управляете ролями в таблице пользователей. Теперь, когда вы хотите разрешить определенную роль пользователя для какой-то части, просто проверьте роль пользователя.

if(Auth::user()->user_role==0){
//do something its super user
}

В шаблоне клинка вы можете проверить следующим образом.

@if(Auth::user()->user_role==0)
<!--do some thing, its super user-->
@endif

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

<?php $users=App\User::all(); ?>

@if($users ===null)
<!--users table is empty show registration form-->
@endif
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector