基于身份验证用户类型的路由限制


Route Restriction base on Auth User Type

我有三种类型的用户

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

我在/app/Http/Middleware中创建了3个中间件我把它们命名为

  • AdminSuperMiddleware.php
  • AdminMiddleware.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/account

我一直得到404分。

我错过什么了吗?

如有任何提示/建议,我们将不胜感激!

将执行第一个匹配路由。