Laravel高级中间件

时间:2018-07-09 20:45:00

标签: laravel login admin middleware

我在某些控制器的__construct中使用此行

$this->middleware('auth');

此结果是,每个未登录的用户都将被重定向到登录页面。当然可以,但是有问题。

我有两组用户。在数据库中,我有一列称为“角色”,它是布尔值。 0表示基本用户,1表示管理员。我该如何处理,仅允许管理员进入某些控制器?我真的不知道该怎么做。

2 个答案:

答案 0 :(得分:0)

您可以将内容传递给中间件,例如

$this->middleware('auth:1');

现在在中间件中,您可以检查经过身份验证的用户是否具有您通过的角色(在示例中为1)。如果他们没有您所需要的角色,则可以将其重定向到登录屏幕,也可以根据需要进行处理。

答案 1 :(得分:0)

您可以使用以下代码获取经过身份验证的用户,然后编写自定义逻辑。

         if(Auth::user()->role==0)
         {
           //you are basic user
          }
          esle if(Auth->user()->role==1)
          {
          //you are admin
          }

您也可以为这种类型的工作确定条件。