首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在OctoberCMS插件中注册中间件?

如何在OctoberCMS插件中注册中间件?
EN

Stack Overflow用户
提问于 2016-04-29 19:17:34
回答 5查看 1.9K关注 0票数 4

在Laravel注册中间件很简单:

只需在应用程序/Http/kernel.php类的$middleware属性中列出中间件类

如果您希望将中间件分配到特定的路由,那么首先应该在app/Http/Kernel.php文件中为中间件分配一个短键。

但是如何在OctoberCMS插件中做到这一点呢?"路由和初始化“是用来代替Kernel.php注册中间件的吗?如果没有,插件可以在哪里注册自己的中间件?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-02-07 01:12:48

正如在文档中提到的,您可以在plugin.php的引导方法中扩展控制器类;

代码语言:javascript
运行
复制
public function boot()
{

    // Extend Controller Class
    \Cms\Classes\CmsController::extend(function($controller) {
        $controller->middleware('Middleware\Path..');
    });


    // OR Push it directly to the Kernel

      // prependMiddleware : Add a new middleware to beginning of the stack.
     $this->app['Illuminate\Contracts\Http\Kernel']
        ->prependMiddleware('Middleware\Path..');

     // pushMiddleware : Add a new middleware to end of the stack.
     $this->app['Illuminate\Contracts\Http\Kernel']
        ->pushMiddleware('Middleware\Path..');

}

还可以将其添加到插件的routes.php文件中:

代码语言:javascript
运行
复制
Route::group(['prefix' => 'foo'], function () {

        Route::get('{slug}', function($slug){

           ....

        })->where('slug', '(.*)?')->middleware('Path\To\Middleware');
});
票数 2
EN

Stack Overflow用户

发布于 2016-05-19 22:57:09

我在插件routes.php中使用了具有完全限定类名的“中间件”选项和一个路由组。

代码语言:javascript
运行
复制
Route::group(['middleware' => '\Namespace\ABC123\AuthMiddleware'], function(){
票数 1
EN

Stack Overflow用户

发布于 2016-05-28 21:06:13

使用这个

代码语言:javascript
运行
复制
Cms\Classes\CmsController::extend(function($controller) {
$controller->middleware('your middleware here');
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36945950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档