Ram*_*Ram 2 permissions kernel roles laravel
好吧,我对 laravel 有点陌生,我尝试使用 Spatie 来获取角色和权限,但是发生了这个错误,即使我已经在 kernel.php 中编写了类名:
\n<?php\n\nnamespace App\\Http;\n\nuse Illuminate\\Foundation\\Http\\Kernel as HttpKernel;\n\nclass Kernel extends HttpKernel\n{\n /**\n * The application's global HTTP middleware stack.\n *\n * These middleware are run during every request to your application.\n *\n * @var array<int, class-string|string>\n */\n protected $middleware = [\n // \\App\\Http\\Middleware\\TrustHosts::class,\n \\App\\Http\\Middleware\\TrustProxies::class,\n \\Illuminate\\Http\\Middleware\\HandleCors::class,\n \\App\\Http\\Middleware\\PreventRequestsDuringMaintenance::class,\n \\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize::class,\n \\App\\Http\\Middleware\\TrimStrings::class,\n \\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull::class,\n ];\n\n /**\n * The application's route middleware groups.\n *\n * @var array<string, array<int, class-string|string>>\n */\n protected $middlewareGroups = [\n 'web' => [\n \\App\\Http\\Middleware\\EncryptCookies::class,\n \\Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse::class,\n \\Illuminate\\Session\\Middleware\\StartSession::class,\n \\Illuminate\\View\\Middleware\\ShareErrorsFromSession::class,\n \\App\\Http\\Middleware\\VerifyCsrfToken::class,\n \\Illuminate\\Routing\\Middleware\\SubstituteBindings::class,\n ],\n\n 'api' => [\n // \\Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful::class,\n \\Illuminate\\Routing\\Middleware\\ThrottleRequests::class.':api',\n \\Illuminate\\Routing\\Middleware\\SubstituteBindings::class,\n ],\n ];\n\n /**\n * The application's middleware aliases.\n *\n * Aliases may be used instead of class names to conveniently assign middleware to routes and groups.\n *\n * @var array<string, class-string|string>\n */\n protected $middlewareAliases = [\n 'auth' => \\App\\Http\\Middleware\\Authenticate::class,\n 'auth.basic' => \\Illuminate\\Auth\\Middleware\\AuthenticateWithBasicAuth::class,\n 'auth.session' => \\Illuminate\\Session\\Middleware\\AuthenticateSession::class,\n 'cache.headers' => \\Illuminate\\Http\\Middleware\\SetCacheHeaders::class,\n 'can' => \\Illuminate\\Auth\\Middleware\\Authorize::class,\n 'guest' => \\App\\Http\\Middleware\\RedirectIfAuthenticated::class,\n 'password.confirm' => \\Illuminate\\Auth\\Middleware\\RequirePassword::class,\n 'permission' => \\Spatie\\Permission\\Middlewares\\PermissionMiddleware::class,\n 'precognitive' => \\Illuminate\\Foundation\\Http\\Middleware\\HandlePrecognitiveRequests::class,\n **'role' => \\Spatie\\Permission\\Middlewares\\RoleMiddleware::class,**\n 'role_or_permission' => \\Spatie\\Permission\\Middlewares\\RoleOrPermissionMiddleware::class,\n 'signed' => \\App\\Http\\Middleware\\ValidateSignature::class,\n 'throttle' => \\Illuminate\\Routing\\Middleware\\ThrottleRequests::class,\n 'verified' => \\Illuminate\\Auth\\Middleware\\EnsureEmailIsVerified::class,\n ];\n}\nRun Code Online (Sandbox Code Playgroud)\n我错过了什么或者写错了什么吗?\n(顺便说一句,如果有帮助的话,我使用 Laravel v10.30.1)
\n我尝试使用此路由访问视图:\nRoute::middleware('role:super-admin')->get('/dashboard', [AdminController::class, 'index'])->name('admin');
供应商框架告诉我这一点:\n\\public\\index.php :\xe2\x80\x8951 require_once
下面是发生错误的行:
\n$app = require_once __DIR__.'/../bootstrap/app.php';\n\n$kernel = $app->make(Kernel::class);\n\n**$response = $kernel->handle(**\n $request = Request::capture()\n)->send();\nRun Code Online (Sandbox Code Playgroud)\n
尝试使用\Middleware\而不是\Middlewares\
'role' => \Spatie\Permission\Middleware\RoleMiddleware::class,
'permission' => \Spatie\Permission\Middleware\PermissionMiddleware::class,
'role_or_permission' => \Spatie\Permission\Middleware\RoleOrPermissionMiddleware::class,
Run Code Online (Sandbox Code Playgroud)
https://spatie.be/docs/laravel-permission/v6/basic-usage/middleware#content-package-middleware
| 归档时间: |
|
| 查看次数: |
2606 次 |
| 最近记录: |