Kernel.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. namespace App\Http;
  3. use App\Http\Middleware\ApiCrypto;
  4. use App\Http\Middleware\Authenticate;
  5. use App\Http\Middleware\EncryptCookies;
  6. use App\Http\Middleware\PreventRequestsDuringMaintenance;
  7. use App\Http\Middleware\RedirectIfAuthenticated;
  8. use App\Http\Middleware\TrimStrings;
  9. use App\Http\Middleware\TrustProxies;
  10. use App\Http\Middleware\ValidateSignature;
  11. use App\Http\Middleware\VerifyCsrfToken;
  12. use Illuminate\Auth\Middleware\AuthenticateWithBasicAuth;
  13. use Illuminate\Auth\Middleware\Authorize;
  14. use Illuminate\Auth\Middleware\EnsureEmailIsVerified;
  15. use Illuminate\Auth\Middleware\RequirePassword;
  16. use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
  17. use Illuminate\Foundation\Http\Kernel as HttpKernel;
  18. use Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull;
  19. use Illuminate\Foundation\Http\Middleware\ValidatePostSize;
  20. use Illuminate\Http\Middleware\HandleCors;
  21. use Illuminate\Http\Middleware\SetCacheHeaders;
  22. use Illuminate\Routing\Middleware\SubstituteBindings;
  23. use Illuminate\Routing\Middleware\ThrottleRequests;
  24. use Illuminate\Session\Middleware\AuthenticateSession;
  25. use Illuminate\Session\Middleware\StartSession;
  26. use Illuminate\View\Middleware\ShareErrorsFromSession;
  27. use Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful;
  28. class Kernel extends HttpKernel
  29. {
  30. //全局 HTTP 中间件栈。 这些中间件在对应用程序的每次请求期间运行。
  31. protected $middleware = [
  32. // 系统默认的中间件
  33. // \App\Http\Middleware\TrustHosts::class,
  34. TrustProxies::class,
  35. HandleCors::class,
  36. PreventRequestsDuringMaintenance::class,
  37. ValidatePostSize::class,
  38. ApiCrypto::class,
  39. TrimStrings::class,
  40. ConvertEmptyStringsToNull::class,
  41. ];
  42. /**
  43. * HTTP 中间件组。
  44. *
  45. * @var array<string, array<int, class-string|string>>
  46. */
  47. protected $middlewareGroups = [
  48. 'web' => [
  49. EncryptCookies::class,
  50. AddQueuedCookiesToResponse::class,
  51. StartSession::class,
  52. ShareErrorsFromSession::class,
  53. // VerifyCsrfToken::class,
  54. SubstituteBindings::class,
  55. ],
  56. 'api' => [
  57. //\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
  58. 'throttle:api',
  59. SubstituteBindings::class,
  60. ],
  61. ];
  62. //路由中间件。 这些中间件可以分配给组,也可以单独使用。
  63. protected $middlewareAliases = [
  64. 'admin.jwt' => \App\Http\Middleware\JwtAdminMiddleware::class,
  65. 'jwt' => \App\Http\Middleware\JwtMiddleware::class,
  66. 'check.button.uri' => \App\Http\Middleware\CheckButtonPermission::class,
  67. 'check.token' => \App\Http\Middleware\CheckToken::class,
  68. 'agent.auth' => \App\Http\Middleware\AgentAuthMiddleware::class,
  69. 'agent.admin' => \App\Http\Middleware\AgentAdminMiddleware::class,
  70. 'operations.admin' => \App\Http\Middleware\OperationsAdminMiddleware::class,
  71. 'cron.token' => \App\Http\Middleware\CronTokenMiddleware::class,
  72. // 系统默认的中间件
  73. 'auth' => Authenticate::class,
  74. 'auth.basic' => AuthenticateWithBasicAuth::class,
  75. 'auth.session' => AuthenticateSession::class,
  76. 'cache.headers' => SetCacheHeaders::class,
  77. 'can' => Authorize::class,
  78. 'guest' => RedirectIfAuthenticated::class,
  79. 'password.confirm' => RequirePassword::class,
  80. 'signed' => ValidateSignature::class,
  81. 'throttle' => ThrottleRequests::class,
  82. 'verified' => EnsureEmailIsVerified::class,
  83. ];
  84. }