Kernel.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. namespace App\Http;
  3. use App\Http\Middleware\Affiliate;
  4. use App\Http\Middleware\Authenticate;
  5. use App\Http\Middleware\CheckForMaintenanceMode;
  6. use App\Http\Middleware\EncryptCookies;
  7. use App\Http\Middleware\Google2FAMiddleware;
  8. use App\Http\Middleware\isForbidden;
  9. use App\Http\Middleware\isLogin;
  10. use App\Http\Middleware\isMaintenance;
  11. use App\Http\Middleware\isSecurity;
  12. use App\Http\Middleware\Permission;
  13. use App\Http\Middleware\RedirectIfAuthenticated;
  14. use App\Http\Middleware\SetLocale;
  15. use App\Http\Middleware\TrimStrings;
  16. use App\Http\Middleware\TrustProxies;
  17. use App\Http\Middleware\VerifyCsrfToken;
  18. use App\Http\Middleware\WebApi;
  19. use Fruitcake\Cors\HandleCors;
  20. use Illuminate\Auth\Middleware\AuthenticateWithBasicAuth;
  21. use Illuminate\Auth\Middleware\Authorize;
  22. use Illuminate\Auth\Middleware\EnsureEmailIsVerified;
  23. use Illuminate\Auth\Middleware\RequirePassword;
  24. use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
  25. use Illuminate\Foundation\Http\Kernel as HttpKernel;
  26. use Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull;
  27. use Illuminate\Foundation\Http\Middleware\ValidatePostSize;
  28. use Illuminate\Http\Middleware\SetCacheHeaders;
  29. use Illuminate\Routing\Middleware\SubstituteBindings;
  30. use Illuminate\Routing\Middleware\ThrottleRequests;
  31. use Illuminate\Routing\Middleware\ValidateSignature;
  32. use Illuminate\Session\Middleware\StartSession;
  33. use Illuminate\View\Middleware\ShareErrorsFromSession;
  34. class Kernel extends HttpKernel
  35. {
  36. /**
  37. * The application's global HTTP middleware stack.
  38. *
  39. * These middleware are run during every request to your application.
  40. *
  41. * @var array
  42. */
  43. protected $middleware = [
  44. // \App\Http\Middleware\TrustHosts::class,
  45. TrustProxies::class,
  46. HandleCors::class,
  47. CheckForMaintenanceMode::class,
  48. ValidatePostSize::class,
  49. TrimStrings::class,
  50. ConvertEmptyStringsToNull::class,
  51. ];
  52. /**
  53. * The application's route middleware groups.
  54. *
  55. * @var array
  56. */
  57. protected $middlewareGroups = [
  58. 'web' => [
  59. EncryptCookies::class,
  60. AddQueuedCookiesToResponse::class,
  61. StartSession::class,
  62. // \Illuminate\Session\Middleware\AuthenticateSession::class,
  63. SetLocale::class,
  64. ShareErrorsFromSession::class,
  65. VerifyCsrfToken::class,
  66. SubstituteBindings::class,
  67. ],
  68. 'user' => [
  69. isForbidden::class,
  70. isMaintenance::class,
  71. isLogin::class,
  72. Google2FAMiddleware::class,
  73. ],
  74. 'admin' => [
  75. isForbidden::class,
  76. isLogin::class,
  77. Permission::class,
  78. ],
  79. 'api' => [
  80. 'throttle:60,1',
  81. SubstituteBindings::class,
  82. ],
  83. ];
  84. /**
  85. * The application's route middleware.
  86. *
  87. * These middleware may be assigned to groups or used individually.
  88. *
  89. * @var array
  90. */
  91. protected $routeMiddleware = [
  92. 'auth' => Authenticate::class,
  93. 'auth.basic' => AuthenticateWithBasicAuth::class,
  94. 'auth.jwt' => \Tymon\JWTAuth\Http\Middleware\Authenticate::class,
  95. 'bindings' => SubstituteBindings::class,
  96. 'cache.headers' => SetCacheHeaders::class,
  97. 'can' => Authorize::class,
  98. 'guest' => RedirectIfAuthenticated::class,
  99. 'password.confirm' => RequirePassword::class,
  100. 'signed' => ValidateSignature::class,
  101. 'throttle' => ThrottleRequests::class,
  102. 'verified' => EnsureEmailIsVerified::class,
  103. 'webApi' => WebApi::class,
  104. 'isMaintenance' => isMaintenance::class,
  105. 'isSecurity' => isSecurity::class,
  106. 'isForbidden' => isForbidden::class,
  107. 'affiliate' => Affiliate::class,
  108. '2fa' => Google2FAMiddleware::class,
  109. ];
  110. }