创建了中间件,但它在Laravel 5.5中不起作用

问题描述 投票:-2回答:1

我想验证特定用户的视图文件。我为此创建了中间件。以下是中间件的代码: -

namespace App\Http\Middleware;

use Closure;

use Illuminate\Support\Facades\Auth;

class ClientAuth
{
    public function handle($request, Closure $next)
    {
        if(Auth::user() && Auth::user()->account_type==3)
        {
            return $next($request);
        }

            return redirect('/');

    }
}

接下来,我在kernel.php文件中调用了“客户端”中间件。以下是代码: -

protected $routeMiddleware = [
    'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
    'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
    'can' => \Illuminate\Auth\Middleware\Authorize::class,
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
    'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
    'admin' => \App\Http\Middleware\isAdmin::class,
    'client' => \App\Http\Middleware\ClientAuth::class
];

然后,我在路上打电话。

Route::group(['middleware' => ['auth','client']], function () 
{

   Route::get('clientdatabase',
   'ClientDatabase\ClientdatabaseController@ClientDatabase');

});

这不起作用。我哪里错了?

php laravel authentication middleware
1个回答
-1
投票

你的被叫路线是错的。例如

  Route::middleware(['auth','client'])->group(function () {

       Route::get('clientdatabase','ClientDatabase\ClientdatabaseController@ClientDatabase');

    });
© www.soinside.com 2019 - 2024. All rights reserved.