【问题标题】:Multiple middlewares for routes in Laravel. Array or multiple arguments?Laravel 中路由的多个中间件。数组还是多个参数?
【发布时间】:2019-09-20 15:50:23
【问题描述】:

我正在建立一个网站,为了检查某些内容,您需要进行身份验证和验证。

当我将中间件包含在一个数组中时,它可以工作。

Route::resource('premiumContent', 'PremiumContentController')
    ->middleware(['auth', 'verified']);

但是,当我按照原始文档进行操作时,

https://laravel.com/docs/5.8/middleware#registering-middleware

将中间件作为多个参数进行分组,这是行不通的。

Route::resource('premiumContent', 'PremiumContentController')
    ->middleware('auth', 'verified');

只有“身份验证”中间件适用,因此即使我没有经过验证,我也可以访问内容。为什么?什么是正确的方法?

【问题讨论】:

  • 两种方法都很好 - 文档不匹配可能是一个错字。

标签: laravel


【解决方案1】:

更改web.php 代码。这对我有用。

Route::group(['middleware' => ['auth', 'verified']], function() {
   Route::resource('premiumContent','PremiumContentController'); 
});

【讨论】:

  • 谁投了反对票,请解释一下。除了(可选)'premiumContent','PremiumContentController' 应该是 'premiumContent', PremiumContentController::class 之外,这里没有真正的问题,应该按照 OP 问题工作
  • 我否决了这个答案,因为这不能回答问题。最初的问题是“当我遵循原始文档......但没有工作。为什么?”你没有回答这个问题,而是提供了一个替代解决方案。
  • 我没有投赞成票或反对票,但这是一种有效的解决方法。它解决了我的问题,但让人怀疑为什么原始文档不正确。无论如何感谢您的替代解决方案:)
猜你喜欢
  • 2020-05-31
  • 2020-01-11
  • 2016-08-30
  • 2017-09-30
  • 2016-10-12
  • 1970-01-01
  • 1970-01-01
  • 2014-09-24
  • 2014-06-08
相关资源
最近更新 更多