PermissionMiddleware.php 629 B

123456789101112131415161718192021222324252627
  1. <?php
  2. declare(strict_types=1);
  3. namespace SixShop\Auth\Middleware;
  4. use Closure;
  5. use SixShop\Auth\Entity\ExtensionAuthPermissionEntity;
  6. use SixShop\Core\Request;
  7. class PermissionMiddleware
  8. {
  9. public function __construct(private ExtensionAuthPermissionEntity $extensionAuthPermissionEntity)
  10. {
  11. }
  12. public function handle(Request $request, Closure $next)
  13. {
  14. if ($request->adminID == 1) {
  15. // super adminer
  16. $this->extensionAuthPermissionEntity->syncPermission($request->rule());
  17. } else {
  18. // todo check permission
  19. }
  20. return $next($request);
  21. }
  22. }