Laravel 5.2使用Entrust GroupRoutes Kernel.php

时间:2016-06-17 18:05:38

标签: laravel middleware entrust

我正在尝试根据用户角色添加Route :: group()。

Route::group(['middleware' => ['role:myrole']], function () {
    //Some Routes
}

我收到此错误...

  

Zizaco \ Entrust \ Middleware \ EntrustRole :: handle()缺少参数3

我有Entrust的默认安装。我被告知我需要在' $ middlewareGroups'

中的Kernel.php文件中添加一行或两行。

有什么台词?

2 个答案:

答案 0 :(得分:1)

你正在寻找这些我认为:

type MyAuthorizer =
    inherit AuthorizeAttribute

    new ([<ParamArray>] roles : string[]) as this = 
        { inherit AuthorizeAttribute() } then
            this.Roles <- ""

注意,我将它们放在'role' => \Zizaco\Entrust\Middleware\EntrustRole::class, 'permission' => \Zizaco\Entrust\Middleware\EntrustPermission::class, 'ability' => \Zizaco\Entrust\Middleware\EntrustAbility::class,

然后分配您的角色/权限,但是您认为适合某个组或单个路线。但请将它们存储在$routeMiddleware中。例如:

$routeMiddleware

答案 1 :(得分:0)

嗯,&#34;对&#39;没有发现这样做的方法。所以我用了一个解决方法。我在刀片文件中使用了@role。对我来说这是一个黑客,但它确实有效。