基于Auth用户类型的路由限制

问题描述 投票:0回答:1

我有3种用户

  • 管理员超级
  • 管理员
  • 管理员只读

我在

/app/Http/Middleware
创建了 3 个中间件 我给他们起了名字

  • AdminSuperMiddleware.php
  • 管理中间件.php
  • AdminReadonlyMiddleware.php

我已经在

/app/Http/Kernel.php
中注册了它们,如下

    'admin'          => 'App\Http\Middleware\AdminMiddleware',
    'admin-super'    => 'App\Http\Middleware\AdminSuperMiddleware',
    'admin-readonly' => 'App\Http\Middleware\AdminReadOnlyMiddleware',

我尝试在我的routes.php

中调用它们
    $router->group(['middleware' => ['auth', 'admin-super'] ], function() {
        Route::get('account','AccountController@index');
        Route::post('account/store','AccountController@store');
        Route::post('/view-profile/logo/update', 'ProfileController@updateLogo');
    });

    $router->group(['middleware' => ['auth', 'admin'] ], function() {
        Route::get('account','AccountController@index');
        Route::post('account/store','AccountController@store');
    });

    $router->group(['middleware' => ['auth', 'admin-readonly'] ], function() {
        Route::get('account','AccountController@index');
    });

结果

当我以

user type == admin
身份登录并转到:

http://localhost:8888/帐户

我一直收到 404。

我错过了什么吗?

php laravel laravel-5 middleware
1个回答
0
投票

将执行第一个匹配的路由。

© www.soinside.com 2019 - 2024. All rights reserved.