Пример #1
0
 public static function hook()
 {
     try {
         self::firstCall();
         $securityYml = cache::getInstance()->loadYaml(config::getPathAbsolute() . 'config/security.yml', 'securityYml');
         // preguntando si el módulo y la acción solicitada, tienen o no seguridad
         if (isset($securityYml[session::getInstance()->getModule()][session::getInstance()->getAction()]) === true and isset($securityYml[session::getInstance()->getModule()][session::getInstance()->getAction()]['security']) === true and $securityYml[session::getInstance()->getModule()][session::getInstance()->getAction()]['security'] === true) {
             // si hay seguridad, entonces preguntamos si el usuario está autenticado
             if (!session::getInstance()->isUserAuthenticated()) {
                 self::saveUrlParams();
                 //routing::getInstance()->redirect(config::getDefaultModuleSecurity(), config::getDefaultActionSecurity());
                 routing::getInstance()->forward(config::getDefaultModuleSecurity(), config::getDefaultActionSecurity());
             }
             // verifico permisos de acceso
             if (!self::verifyCredentials($securityYml, session::getInstance()->getModule(), session::getInstance()->getAction())) {
                 routing::getInstance()->forward(config::getDefaultModulePermission(), config::getDefaultActionPermission());
             }
         }
         /* else {
              session::getInstance()->deleteAttribute('shfSecurityModuleGO');
              session::getInstance()->deleteAttribute('shfSecurityActionGO');
            }*/
     } catch (\PDOException $exc) {
         throw $exc;
     }
 }