Laravel - 控制器中路由的中间件

Posted

技术标签:

【中文标题】Laravel - 控制器中路由的中间件【英文标题】:Laravel - middleware on routes in controller 【发布时间】:2017-12-18 03:57:35 【问题描述】:

我有一个路线资源

Route::resource('campaign', 'CampaignController');

我想将其中一些路由限制为用户。

例如,索引页面列出了所有广告系列,他们不应该只看到自己的广告系列。

我有一个自定义中间件,它只检查用户是否是管理员

但是我不能将其应用于单个方法。

public function index()
    
      $this->middleware('checkuser'); 

    

只是构造函数

 public function __construct()
    
        $this->middleware('checkuser');
    

如何解决这个问题并应用于控制器中的单个路由

【问题讨论】:

【参考方案1】:

对不起,我的错误我应该阅读您可以添加例外或允许的文档。

$this->middleware('auth');

 $this->middleware('log', ['only' => ['fooAction', 'barAction']]);

$this->middleware('subscribed', ['except' => ['fooAction', 'barAction']]);
    

【讨论】:

以上是关于Laravel - 控制器中路由的中间件的主要内容,如果未能解决你的问题,请参考以下文章

Laravel动态控制器中间件

Laravel - 将变量从中间件传递到控制器/路由

Laravel系列3.4中间件在路由与控制器中的应用

Laravel 在控制器外部获取路由参数

Laravel Pipeline 组件的实现

拦截 Laravel 路由