ContentManageGate.php 556 B

12345678910111213141516171819202122232425
  1. <?php
  2. namespace Modules\ContentManage\Middlewares;
  3. use Illuminate\Http\Request;
  4. use Modules\ContentManage\Exceptions\PermissionForbidden;
  5. use Modules\User\Models\User;
  6. class ContentManageGate
  7. {
  8. public function handle(Request $request, \Closure $next)
  9. {
  10. if ($request->isMethod('get')) {
  11. return $next($request);
  12. }
  13. /* @var User $user */
  14. $user = $request->user(getGuardName());
  15. if (! $user->can()) {
  16. throw new PermissionForbidden();
  17. }
  18. return $next($request);
  19. }
  20. }