Example #1
0
 /**
  * Route Shutdown - Verificações de segurança - SESSION, ACL, AUTH
  *
  * @param  Zend_Controller_Request_Abstract $request
  * @return void
  */
 public function routeShutdown(Zend_Controller_Request_Abstract $request)
 {
     if ($this->skip($request)) {
         return;
     }
     if (!Core_Integration_Sica_User::has()) {
         $this->getRedirectLogin($request);
         return;
     }
     $sgSistema = strtoupper(Core_Integration_Sica_User::getSgSystemActive());
     $session = new Core_Session_Namespace('USER', FALSE, TRUE);
     if (!isset($session->acl)) {
         if (!$this->skipHome($request)) {
             $this->getRedirectHome($request);
         }
         return;
     }
     if (!$session->acl->hasRole($session->noPerfil)) {
         throw new UnexpectedValueException('Perfil não identificado.');
     }
     if ($this->skipAcl($request) || $this->skipIndexBlank($request)) {
         return;
     }
     $permission = FALSE;
     foreach ($this->getResources() as $resource) {
         if ($session->acl->has($resource) && $session->acl->isAllowed($session->noPerfil, $resource)) {
             $permission = TRUE;
             break;
         }
     }
     if (!$permission) {
         throw new Exception('Acesso Negado!', 403);
     }
 }
Example #2
0
 public static function getInfoSystem($system = null)
 {
     if (null === $system) {
         $user = static::get();
         $sgSistema = strtoupper(Core_Integration_Sica_User::getSgSystemActive());
         if (!isset($user->sqSistema)) {
             return null;
         }
         $system = $user->sqSistema;
     }
     $systems = static::getInfoSystems();
     if (isset($systems[$system])) {
         return $systems[$system];
     }
     return null;
 }