Auth.php 874 B

1234567891011121314151617181920212223242526
  1. <?php
  2. namespace App\Middleware;
  3. use Psr\Http\Message\ServerRequestInterface;
  4. use Psr\Http\Message\ResponseInterface;
  5. use App\Services\Auth as AuthService;
  6. class Auth
  7. {
  8. public function __invoke(ServerRequestInterface $request, ResponseInterface $response, $next)
  9. {
  10. $user = AuthService::getUser();
  11. if (!$user->isLogin) {
  12. $newResponse = $response->withStatus(302)->withHeader('Location', '/auth/login');
  13. return $newResponse;
  14. }
  15. $enablePages = array('/user/disable', '/user/backtoadmin', '/user/logout');
  16. if ($user->enable == 0 && !in_array($_SERVER['REQUEST_URI'], $enablePages)) {
  17. $newResponse = $response->withStatus(302)->withHeader('Location', '/user/disable');
  18. return $newResponse;
  19. }
  20. $response = $next($request, $response);
  21. return $response;
  22. }
  23. }