<?php /** * Created by PhpStorm. * User: Poka * Date: 1/31/2016 * Time: 9:11 AM */ $app->get('/init-session', function ($request, $response) { if (!isset($_SESSION[ApiConfig::TOKEN_NAME])) { $guard = new GuardSevice(); $guard->InitSession(); unset($guard); //sleep(180); } });
<?php /** * Created by PhpStorm. * User: Poka * Date: 2/2/2016 * Time: 9:29 PM */ $app->add(function ($request, $response, $next) { if (!isset($_SESSION[ApiConfig::TOKEN_NAME])) { $gs = new GuardSevice(); $url = $request->getUri()->getPath(); if ($url != 'init-session' && isset($_COOKIE[ApiConfig::TOKEN_NAME])) { $gs->InitSession(); $response = $response->withJson(['Reload' => 1]); return $response; } } //The code for the function like 'BeforeExecute' in .NET MVC here //.. if (AppCore::CheckIgnoreRoute($request->getUri()->getPath())) { $response = $next($request, $response); } else { if (!isset($_COOKIE[ApiConfig::TOKEN_NAME])) { $response = DenyAccess($request, $response); } else { $headerTooken = $request->getHeader(ApiConfig::TOKEN_HEADER_NAME); if (isset($headerTooken) && !empty($headerTooken[0]) && isset($_SESSION[ApiConfig::TOKEN_NAME])) { $sessionToken = $_SESSION[ApiConfig::TOKEN_NAME]; if ($headerTooken[0] == $sessionToken) { $response = $next($request, $response);