0byt3m1n1
Path:
/
home
/
mgatv524
/
medcenter.mgaplay.com.br
/
lib
/
Middleware
/
[
Home
]
File: SuperAdminAuth.php
<?php /* * Copyright (C) 2020 Xibo Signage Ltd * * Xibo - Digital Signage - http://www.xibo.org.uk * * This file is part of Xibo. * * Xibo is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * Xibo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with Xibo. If not, see <http://www.gnu.org/licenses/>. */ namespace Xibo\Middleware; use Psr\Container\ContainerInterface; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\MiddlewareInterface; use Psr\Http\Server\RequestHandlerInterface; use Xibo\Support\Exception\AccessDeniedException; /** * Class SuperAdminAuth * @package Xibo\Middleware */ class SuperAdminAuth implements MiddlewareInterface { /** @var \Psr\Container\ContainerInterface */ private $container; /** @var array */ private $features; /** * FeatureAuth constructor. * @param ContainerInterface $container */ public function __construct(ContainerInterface $container) { $this->container = $container; } /** * @param \Psr\Http\Message\ServerRequestInterface $request * @param \Psr\Http\Server\RequestHandlerInterface $handler * @return \Psr\Http\Message\ResponseInterface * @throws \Xibo\Support\Exception\AccessDeniedException */ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { // If no features are provided, then this must be public if (!$this->getUser()->isSuperAdmin()) { throw new AccessDeniedException(__('You do not have sufficient access')); } return $handler->handle($request); } /** * @return \Xibo\Entity\User */ private function getUser() { return $this->container->get('user'); } }