【问题标题】:middleware does not working laravel 5中间件不工作 laravel 5
【发布时间】:2015-04-11 18:18:10
【问题描述】:

我试图在我的控制器中使用带有 except 参数的构造方法中的 auth 中间件,但它不起作用。

我使用 artisan 命令创建了我的控制器,它包含 create、edit、show 等方法。

这是我的构造:

public function __construct()
{
    $this->middleware('auth', ['except' => ['index', 'show']]);
}

如果我在未登录时访问某些方法,例如编辑和创建,中间件不起作用,我可以看到内容。我也尝试了 only 而不是 except,结果相同。

【问题讨论】:

  • 您是否在 Kernel.php 文件的 $routeMiddleware 中注册了您的中间件?
  • auth 是默认的中间件之一,它已经存在了。

标签: laravel-5 middleware laravel-middleware


【解决方案1】:

你有没有为auth中间件修改Authenticate.php这个函数

public function handle($request, Closure $next)
{
}

【讨论】:

  • 不,我没有碰它,如果我不传递第二个参数它工作正常,但我不想在所有方法中运行 auth...
  • 转到这个中间件文件夹,然后你就得到了这个文件。用你自己的方式改变它。
【解决方案2】:

我发现问题出在我的地址上/

我的 结构中有 except indexshow 并且我试图使用 /controller/edit 访问编辑方法,这是错误的,因为控制器将编辑部分假定为 index 方法参数,所以我将 url 更改为 /controller/1/edit 并且它正在工作。

这是我的错,因为我使用 Codeigniter 很长时间,有时我仍然认为我正在使用 Ci。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 2016-12-08
    • 2016-02-13
    • 2018-08-11
    • 2016-01-18
    • 1970-01-01
    相关资源
    最近更新 更多