예제 #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);
     }
 }
 /**
  * Redireciona o usuario para tela de pessoa fisica ou juridica
  */
 public function rotaAction()
 {
     $session = Core_Integration_Sica_User::has();
     if ($session) {
         Core_Integration_Sica_User::destroy();
         $this->_redirect('usuario-externo/login');
     }
     $this->_helper->layout->setLayout('create-usuario-externo');
 }
 public function createAction()
 {
     $session = Core_Integration_Sica_User::has();
     if ($session) {
         Core_Integration_Sica_User::destroy();
         $this->_redirect('usuario-externo/login');
     }
     $this->view->dtCadastro = \Zend_Date::now()->toString('yyyy-MM-dd hh:mm:ss');
     parent::createAction();
 }
예제 #4
0
 /**
  *
  */
 protected static function getParams($data, $type, $options, $metodo)
 {
     self::checaOperacaoWs($metodo);
     $session = \Core_Integration_Sica_User::has();
     $sqUsuario = \Core_Integration_Sica_User::getUserId() ? \Core_Integration_Sica_User::getUserId() : null;
     $perfilUsuario = $session ? \Core_Integration_Sica_User::getUserProfileExternal() : true;
     $sistema = \Core_Integration_Sica_User::getInfoSystem(\Core_Integration_Sica_User::getUserSystem());
     $sis = \Zend_Registry::get('doctrine')->getEntityManager()->getRepository('app:Sistema')->findBySgSistema('SICA-e');
     $sqSistema = $session ? $sistema['sqSistema'] : $sis[0]->getSqSistema();
     $sgSistema = $session ? $sistema['sgSistema'] : $sis[0]->getSgSistema();
     $request = new \Zend_Controller_Request_Http();
     $arrRequest = explode('/', $request->getRequestUri());
     $params = array('sqSistema' => (int) $sqSistema, 'sgSistema' => (string) $sgSistema, 'sqClasse' => self::NUM_ZERO, 'noClasse' => (string) $arrRequest[1] . '/' . $arrRequest[2], 'sqMetodo' => self::NUM_ZERO, 'noMetodo' => (string) 'index', 'sqUsuario' => $sqUsuario, 'sgOperacao' => self::$sqOperacao, 'stUsuarioExterno' => (int) $perfilUsuario);
     $params['xmTrilha'] = self::geraTagXml($type);
     return $params;
 }
예제 #5
0
 /**
  * $sqSistema   = Sigla do sistema
  * $sqClass     = sequencial da class, para indefinido utilize 0 (zero)
  * $sqMetodo    = sequencial do metodo, para indefinido utilize 0 (zero)
  * $noSchema    = Nome do Schema
  * $noTabela    = Nome da tabela
  * $sqUsuario   = Usuario logado
  * $sgOperacao  = I, U, D
  * $columns     = {campo1, campo2, campo3}
  * $values      = {value1, value2, value3}
  * @param \Doctrine\ORM\Event\LifecycleEventArgs $args
  */
 protected static function getParams(LifecycleEventArgs $args)
 {
     $metadata = $args->getEntityManager()->getClassMetadata(get_class($args->getEntity()));
     $sistema = Core_Integration_Sica_User::getInfoSystem(Core_Integration_Sica_User::getUserSystem());
     $sis = \Zend_Registry::get('doctrine')->getEntityManager()->getRepository('app:Sistema')->findBySgSistema('SICA-e');
     $session = Core_Integration_Sica_User::has();
     $sqSistema = $session ? $sistema['sqSistema'] : $sis[0]->getSqSistema();
     $sgSistema = $session ? $sistema['sgSistema'] : $sis[0]->getSgSistema();
     $request = new Zend_Controller_Request_Http();
     $arrRequest = explode('/', $request->getRequestUri());
     $perfilUsuario = $session ? \Core_Integration_Sica_User::getUserProfileExternal() : true;
     $usuario = $session ? \Core_Integration_Sica_User::getUserId() : null;
     $params = array('sqSistema' => (int) $sqSistema, 'sgSistema' => (string) $sgSistema, 'sqClasse' => self::NUM_ZERO, 'noClasse' => (string) $arrRequest[1] . '/' . $arrRequest[2], 'sqMetodo' => self::NUM_ZERO, 'noMetodo' => (string) 'index', 'sqUsuario' => $usuario, 'sgOperacao' => self::$sqOperacao, 'stUsuarioExterno' => (int) $perfilUsuario);
     $columnsFields = array();
     $columnField = array();
     $columnAssoc = array();
     $valueField = array();
     $valueAssoc = array();
     foreach ($metadata->getFieldNames() as $name) {
         $valueField = $metadata->getFieldValue($args->getEntity(), $name);
         $columnField = $metadata->getColumnName($name);
         $columnsFields[$columnField] = $valueField;
     }
     foreach ($metadata->getAssociationNames() as $name) {
         if ($metadata->hasAssociation($name)) {
             $associationMap = $metadata->getAssociationMapping($name);
             if (isset($associationMap['sourceToTargetKeyColumns'])) {
                 $valueAssoc = $metadata->getFieldValue($args->getEntity(), $name);
                 $columnAssoc = key($associationMap['sourceToTargetKeyColumns']);
                 $columnsFields[$columnAssoc] = $valueAssoc;
             }
         }
     }
     $columnsFields = self::validateValue($columnsFields);
     $params['xmTrilha'] = self::geraTagXml($columnsFields, $metadata, $args);
     return $params;
 }