Php Laravel 5.7-如何定义超级用户来管理所有用户注册

Php Laravel 5.7-如何定义超级用户来管理所有用户注册,php,laravel,authentication,laravel-5.7,superuser,Php,Laravel,Authentication,Laravel 5.7,Superuser,需要一些关于Laravel用户身份验证的帮助。我对Laravel的了解很少,我的经验是部署基于原始/纯PHP的web应用程序(从来没有使用该框架的经验) 其想法是让操作员通过Laravel标准注册过程向系统输入第一个也是唯一一个用户,该用户将自动成为超级用户 超级用户功能是通过创建用户和密码并定义普通用户的角色来管理普通用户注册(在超级用户会话中) 我这样定义用户表,我将“user\u role”列添加到用户之间的可区分角色 Schema::create('users', functio

需要一些关于Laravel用户身份验证的帮助。我对Laravel的了解很少,我的经验是部署基于原始/纯PHP的web应用程序(从来没有使用该框架的经验)

其想法是让操作员通过Laravel标准注册过程向系统输入第一个也是唯一一个用户,该用户将自动成为超级用户

超级用户功能是通过创建用户和密码并定义普通用户的角色来管理普通用户注册(在超级用户会话中)

我这样定义用户表,我将“user\u 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之间的数字

网页各部分的内容/视图将根据“用户角色”值显示

需要帮助如何:

  • 如果用户表中未定义任何用户,则显示
    用户注册页/url
  • 每次需要显示页面的某个部分时,我都需要选中“用户角色”。如何实现

  • 从表结构来看,我假设您管理用户表中的角色。现在,当您希望为某个部分允许特定角色用户时,只需检查该用户的角色

    if(Auth::user()->user_role==0){
     //do something its super user
      }
    
    在刀片模板中,您可以通过以下方式进行检查

    @if(Auth::user()->user_role==0)
    <!--do some thing, its super user-->
    @endif
    
    @if(Auth::user()->user\u role==0)
    @恩迪夫
    
    如果表中没有用户,则显示注册表。在刀片服务器中,您可以从用户表中选择数据,然后检查用户表是否为空

    <?php $users=App\User::all(); ?>
    
    @if($users ===null)
     <!--users table is empty show registration form-->
    @endif
    
    
    @如果($users==null)
    @恩迪夫
    
    你好,阿里,谢谢,你建议的检查程序让我更好地理解。顺便问一下,如果(Auth::user()->user\u role==0),有没有简单的方法代替命令?我在想,如果可能的话,可以通过@role=0这样的命令进行检查。您可以将Auth::user()->user_role存储在控制器中的一个变量中,将该变量发送到blade,然后对单个变量进行检查。