当前位置: 首页 > 知识库问答 >
问题:

在Laravel 5.1中创建superAdmin中间件

宦翔飞
2023-03-14

我需要在我的应用程序中创建名为“master”的SuperAdmin中间件,因此我将中间件设为“IsMaster”:

<?php

namespace App\Http\Middleware;

use Closure;

class IsMaster
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (\Auth::user() &&  \Auth::user()->admin == 101) {
            return $next($request);
        }

        return redirect('/auth/logout');
    }
}

因此,从上面的代码可以看出,如果我的“用户”表中的“admin”字段的值为101,则为MASTER user。

现在我把它添加到内核中。php:

protected $routeMiddleware = [
        'auth' => \App\Http\Middleware\Authenticate::class,
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
        'admin' => \App\Http\Middleware\IsAdmin::class,
        'master' => \App\Http\Middleware\IsMaster::class,

    ];

现在在AdminController.php我使用它像:

class AdminController extends Controller
{

    public function __construct() {
        $this->middleware('master', ['except' => ['getMail']]);
    }

...

当我试图登录与主用户帐户我得到了错误:

容器中的ReflectionException。php第741行:类主控不存在

这里有什么问题?我真的不明白是什么让这些问题...

我还尝试了:php-artisan-config:clear,php-artisan-cache:clear。。。

共有1个答案

郭单鹗
2023-03-14

只是为了把它标记为答案。

自动加载的作曲家

 类似资料:
  • 问题内容: 我想请你帮忙。我在socket.io的客户端上遇到了麻烦,我想在客户端调用此代码以在socket.io中创建一个房间: 我不知道这是否正确,如果不正确,请帮助我纠正这些家伙。我不是在节点js和套接字方面专业,但我已经阅读了他们的wiki。有没有可能创造空间的方法? 问题答案: 不需要创建Socket.IO中的房间,而是在套接字加入时创建一个房间。它们是在服务器端加入的,因此您必须指示服

  • 本文向大家介绍Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法,包括了Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法。分享给大家供大家参考,具体如下: 前言:laravel创建数据库,实际可以手动创建,如古老的

  • 问题内容: 我知道在Java中不设置创建时间戳记是因为Linux没有它,但是有没有办法在Java中设置文件(Windows)的创建时间戳记?我在这里做了一个基本的修改时间戳编辑器。 问题答案: 我相信您有以下选择: 查找可以执行此操作并且可以从命令行调用的工具。然后,您可以通过Java代码与之交互。 以下来自MSDN File Times的链接显示了任何工具的工作方式-特别注意功能和。 在这里,我

  • 问题内容: 我需要在Java中创建一个时间戳(以毫秒为单位),以确保在特定的VM实例中是唯一的。即需要某种方式来限制System.currentTimeMillis()的吞吐量,以便它每毫秒最多返回一个结果。关于如何实施的任何想法? 问题答案: 这样可以使时间尽可能接近当前时间,而不重复。 避免每毫秒限制一个id的一种方法是使用微秒级的时间戳。例如,将currentTimeMS乘以1000。这将允

  • 我试图对上皮细胞空间的内部进行建模,但我被困在圆柱形空间内部边缘的运动中。基本上,我正在尝试实现StickyBorders,并将这些边界上的代理保留在我正在创建的圆柱形空间中。 有没有办法在Repast Simphony中使用柱坐标?我找到了这个例子(https://www.researchgate.net/publication/259695792_An_Agent-Based_Model_of

  • 注意:对于 Photoshop CC 之前的 Photoshop 版本,只有当您拥有 Photoshop Extended 时,本文所讨论的某些功能才可能可用。Photoshop 不提供单独的 Extended 版本。Photoshop Extended 中的所有功能是 Photoshop 的一部分。 时间轴动画工作流程 要在时间轴模式下对图层内容进行动画处理,请在将当前时间指示器移动到其他时间/