GE - Como Fazer - Variação no ambiente CIGAM

De CIGAM WIKI

Voltar

Como Fazer > Utilidades/Diversos > Variação no ambiente CIGAM

A partir da [Versão 191104 1], a implementação de restrições de visualização e criação de dados pode ser realizada por meio da combinação de nomes lógicos e da parametrização de variação do ambiente, considerando diferentes grupos de usuários.

Importante: Este recurso não é atendido para as versões CIGAM e10 e nem para o integrador CIGAM.

Como restringir visualização de registros na base de dados através do CIGAM?

Para implementar restrições de registros na base, é necessário utilizar as variações do ambiente. Isso envolve a parametrização dos usuários em grupos que possuem os direitos necessários para acessar o CIGAM. Para realizar essa configuração, utilize o programa "Grupos de Direitos", que pode ser encontrado no seguinte caminho:

Menu: Utilidades/Diversos > Genéricos > Parâmetros > Usuários > Grupos de Direitos.

Parametrização no CIGAM desktop para todos os usuários

Na parametrização do grupo de direitos, é essencial preencher o campo “Variação do ambiente” com uma nomenclatura que identifique essa variação. Essa nomenclatura deve corresponder à utilizada em determinados objetos do banco de dados que serão empregados nas restrições. A estrutura recomendada para compor a tradução dos nomes lógicos é: %CGVARIACAOAMBIENTE%_TABELA.

Exemplo de variação de ambiente:
Desejo que certos usuários do CIGAM, ao abrirem o cadastro de empresa, visualizem apenas os dados da UN 001 (como Pedido, Cadastro de Empresa etc.). Da mesma forma, outros usuários devem ter acesso apenas aos dados da UN 002. Quando o Supervisor fizer login, ele deverá ter a permissão para visualizar todos os dados. Para implementar essa configuração, seguiremos os exemplos a seguir:
  • Criação dos grupos de usuários: Crie grupos específicos, atribua valores na coluna "Variação do ambiente" e adicione os usuários correspondentes a cada grupo.
    • Grupo "EXVW_TOTAL": Atribua todos os usuários que poderão visualizar todos os dados.
    • Grupo "EXVW_UN001": Atribua os usuários que terão acesso apenas aos dados da UN 001.
    • Grupo "EXVW_UN002": Atribua os usuários que poderão visualizar somente os dados da UN 002.
Variacao1.png


  • Configuração no magic.ini e adendos para CIGAM desktop e Broker: No arquivo, informe o nome lógico da seguinte forma:
     [MAGIC_LOGICAL_NAMES]
        GEEMPRESA = %CGVARIACAOAMBIENTE%_GEEMPRES
Para aplicar em outras tabelas, siga conforme o exemplo:
     [MAGIC_LOGICAL_NAMES]
        FAPEDIDO = %CGVARIACAOAMBIENTE%_FAPEDIDO
        GEACOMP = %CGVARIACAOAMBIENTE%_GEACOMP
        VECONTATO = %CGVARIACAOAMBIENTE%_VECONTAT
  • Criação das views no banco de dados: Após realizar as configurações anteriores, será necessário criar as views[1] no banco de dados para garantir que as restrições de acesso sejam aplicadas corretamente.
CREATE VIEW EXVW_TOTAL_GEEMPRES as
select * from GEEMPRES

CREATE VIEW EXVW_UN001_GEEMPRES as
select * from GEEMPRES
where cd_unidade_de_n='001' or
exists (select * from GEUNIDNE UN where UN.Cd_Empresa=GEEMPRES.CD_EMPRESA)

CREATE VIEW EXVW_UN002_GEEMPRES as
select * from GEEMPRES
where cd_unidade_de_n='002' or
exists (select * from GEUNIDNE UN where UN.Cd_Empresa=GEEMPRES.CD_EMPRESA)
  • Os objetos de banco ficarão organizados da seguinte forma:
    • EXVW_TOTAL_GEEMPRES
    • EXVW_UN001_GEEMPRES
    • EXVW_UN002_GEEMPRES


Voltar ao início

Importante:
1 - Limite do campo: O campo "Variação do ambiente" permite a inserção de até 20 caracteres. O valor inserido é combinado com o nome da tabela para compor a identificação final.
2 - Vinculação a Grupos: O usuário pode estar associado a apenas um grupo que contenha a variação do ambiente. Se o usuário for adicionado a outro grupo com variação, o CIGAM exibirá a seguinte mensagem: CGM-5270, informando que a ação não é permitida para o grupo ao qual o usuário está posicionado.
Variacao2.png
3 - Cadastro de Usuários: Ao cadastrar um novo usuário ou não incluir um usuário existente em um grupo com variação do ambiente, o CIGAM exibirá a mensagem CGM-7172 quando esse usuário fizer login. Essa mensagem indica que o usuário não está vinculado a um grupo com variação de ambiente e alerta que algumas operações poderão apresentar inconsistências.
Variacao4.png
Ao utilizar a variação no cadastro de Grupos de Usuários, é imperativo que os usuários sem vínculo a um grupo ou aqueles que têm vínculo, mas não possuem variação no grupo, não consigam acessar os registros. Isso se deve ao requisito essencial de ter um grupo com variação para identificar a tradução do nome lógico nas tabelas definidas no Magic.ini, Adendos ou Web.config. Esses grupos com variação devem ser configurados para corresponder aos tipos específicos de acesso aos dados, mantendo a tradução como o nome inicial da view, utilizando um underline como separador, seguido pela tradução da tabela (%VARIACAOAMBIENTE%_TABELA).

Voltar ao início

Restringindo apenas para um grupo de usuários

Para aplicar a variação de ambiente conforme o exemplo anterior, mas exclusivamente para um grupo específico de usuários, garantindo que os demais tenham acesso total ao CIGAM, você pode adicionar o nome lógico no arquivo magic.ini, sem o caractere de segurança '_'. A estrutura para compor a tradução dos nomes lógicos deve ser: %CGVARIACAOAMBIENTE%TABELA.
Essa configuração assegura que a restrição de dados se aplique apenas aos usuários do grupo designado. No entanto, não recomendamos essa abordagem, pois requer atenção redobrada ao adicionar novos usuários. É fundamental lembrar de incluí-los no grupo da variação; caso contrário, esses novos usuários terão acesso irrestrito a todos os dados.

Exemplo de variação de ambiente:
Suponha que você deseje que apenas um grupo de usuários do CIGAM, ao abrir o cadastro de empresa, visualize somente os dados da UN 001 (como Pedidos, Cadastro de Empresa etc.). Os demais usuários deverão ter permissão para acessar todos os dados. Para implementar essa configuração, siga os passos abaixo:
  • Criação dos grupos de usuários: Crie um grupo específico, atribua valor na coluna "Variação do ambiente" e adicione os usuários correspondentes ao grupo.
    • Grupo "EXVW_UN001": Inclua os usuários que terão acesso restrito apenas aos dados da UN 001.
Variacao3.png


  • Configuração no magic.ini e adendos para CIGAM desktop e Broker: No arquivo, informe o nome lógico da seguinte forma:
     [MAGIC_LOGICAL_NAMES]
        GEEMPRESA = %CGVARIACAOAMBIENTE%GEEMPRES
  • Criação da view no banco de dados: Após realizar as configurações anteriores, será necessário criar a view[1] no banco de dados para garantir que a restrição de acesso seja aplicada corretamente.
CREATE VIEW EXVW_UN001_GEEMPRES as
select * from GEEMPRES
where cd_unidade_de_n='001' or
exists (select * from GEUNIDNE UN where UN.Cd_Empresa=GEEMPRES.CD_EMPRESA)
  • O objeto de banco ficará organizado da seguinte forma:
    • EXVW_UN001_GEEMPRES
Assim, todos os usuários que não estiverem no grupo com variação de ambiente terão acesso total aos dados.

Voltar ao início

Parametrização no arquivo web.config dos Portais

Cada portal possui um arquivo web.config distintos em sua instalação (por exemplo, portalcrm\Web.config). Para utilizar a variação de ambiente no Portal, é necessário incluir nesse arquivo o respectivo nome lógico da tabela, juntamente com sua tradução que incorpora a variação.

Exemplo de aplicação no web.config:
      <add key="NL_FAPEDIDO" value="%CGVARIACAOAMBIENTE%_FAPEDIDO"/>
      <add key="NL_GEEMPRESA" value="%CGVARIACAOAMBIENTE%_GEEMPRES"/>
      <add key="NL_GEACOMP" value="%CGVARIACAOAMBIENTE%_GEACOMP"/>
      <add key="NL_VECONTATO" value="%CGVARIACAOAMBIENTE%_VECONTAT"/>
      <add key="NL_GFLANCAMENTO" value="%CGVARIACAOAMBIENTE%_GFLANCAM"/>
      <add key="NL_GERELUSUARIO" value="%CGVARIACAOAMBIENTE%_GERELUSU"/>

Parametrização no arquivo settings.config dos Portais

Para identificar as parametrizações e restrições, é necessário informar o nome lógico %CGVARIACAOAMBIENTE% dentro do arquivo settings.config. Isso se aplica às restrições de visões nos Portais CIGAM no IIS, e deve ser colocado no início das traduções das tabelas já existentes, respeitando o que está indicado no campo "Variação do ambiente".

Como aplicar restrições de visualização sem a variação do ambiente no Grupo de usuários no CIGAM desktop?

Para se ter uma restrição de visualização sem possuir o campo ‘Variação do ambiente’ no grupo, é necessário que no magic.ini, na tradução dos nomes lógicos se tenha ao invés da tradução padrão criada via Assistente de atualização a nomenclatura do objeto de banco com as restrições criadas.

     [MAGIC_LOGICAL_NAMES]
        GEEMPRESA = EXVW_UN001_GEEMPRES

Voltar ao início

Como utilizar restrição para visualização/criação de dados no Portais CIGAM, com validações de registros duplicados?

Quando parametrizamos as restrições de visualização/criação de dados, alguns pontos de informações devem ser considerados, pois a validação é conforme acesso do usuário, validando somente os registros dentro dessas parametrizações indicadas na variação do ambiente. Para ter a possibilidade da validação dos registros independentemente das restrições, é necessário ter uma parametrização intermediária, para tal comunicação. Para isso devemos parametrizar na instalação do GigaSpace, no arquivo projectsStartup.xml na linha do CMDLineArgs o adendo com os nomes lógicos padrões criados via Assistente de atualização.

     Importante: Para a implementação da variação do ambiente CIGAM, onde se faça necessário o acesso total para verificações, consultas e até mesmo cadastros em um ambiente com restrição, como por exemplo verificar a existência de uma empresa com CNPJ repetido, ou controles de entradas e saídas de estoque, tal implementação pode resultar em inconsistência de dados ou duplicidade de registros, portanto sua implementação é mais indicada para ambientes onde a camada de apresentação é distinta da camada de processamento.
      Exemplo: Portais CIGAM

Como utilizar o assistente de atualização com variação diferente da estrutura indicada?

Para que seja possível utilizar o assistente de atualização, é necessário criar um adendo que aponte para a aplicação de atualização. Esse adendo deve ser configurado de modo que não inclua a variação das tabelas parametrizadas por visões (views).

  • Exemplo:
DE Magic.ini PARA adendo.ini
     [MAGIC_LOGICAL_NAMES] 
           FAPEDIDO = %CGVARIACAOAMBIENTE%FAPEDIDO OU
           FAPEDIDO = FAPEDIDO_%CGVARIACAOAMBIENTE% OU
           FAPEDIDO = FAPEDIDO%CGVARIACAOAMBIENTE% OU 
           FAPEDIDO = VW_FAPEDIDO OU
           FAPEDIDO = FAPEDIDO_VW
   /[MAGIC_LOGICAL_NAMES] FAPEDIDO = FAPEDIDO

Voltar ao início

Como utilizar a variação de ambiente para ocultar dados sensíveis (LGPD)?

Na parametrização do grupo de direitos, é essencial preencher o campo “Variação do ambiente” com uma nomenclatura que identifique essa variação. Essa nomenclatura deve corresponder à utilizada em determinados objetos do banco de dados que serão empregados nas restrições. A estrutura recomendada para compor a tradução dos nomes lógicos é: %CGVARIACAOAMBIENTE%_TABELA.

Exemplo de variação de ambiente:
Desejo ocultar determinados campos no cadastro de empresa (cadastro de material, pedido, cadastro de fornecedor, etc...). Para implementar essa configuração, seguiremos os exemplos a seguir:
  • Criação dos grupos de usuários: Crie grupos específicos, atribua valores na coluna "Variação do ambiente" e adicione os usuários correspondentes a cada grupo.
    • Grupo "EXVW_LGPD": Atribua os usuários que não poderão visualizar os dados sensíveis.
Variacao5.png


  • Configuração no magic.ini e adendos para CIGAM desktop e Broker: No arquivo, informe o nome lógico da seguinte forma:
     [MAGIC_LOGICAL_NAMES]
        GEEMPRESA = %CGVARIACAOAMBIENTE%_GEEMPRES
Para aplicar em outras tabelas, siga conforme o exemplo:
     [MAGIC_LOGICAL_NAMES]
        FAPEDIDO = %CGVARIACAOAMBIENTE%_FAPEDIDO
        GEACOMP = %CGVARIACAOAMBIENTE%_GEACOMP
        VECONTATO = %CGVARIACAOAMBIENTE%_VECONTAT
  • Criação das views no banco de dados: Após realizar as configurações anteriores, será necessário criar as views[1] no banco de dados para garantir que as restrições de acesso sejam aplicadas corretamente.
CREATE VIEW EXVW_LGPD_GEEMPRES as
select Cd_empresa
,Nome_completo
,Contato
,'*' Fone
,'*' Fax_fone
,'**' Endereco
,'**' Bairro
,'**' Municipio
,'**' Uf
,0000000 Cep
,' ' CNPJ_CPF
,Inscricao
,Conceito
,Divisao
,Dt_aniversario
,Dt_ultimo_movim
,Dt_cadastro
,Cd_indicacao
,Cd_representant
,Pe_comis_baixa
,Cd_contabil_cli
,Cd_responsavel
,Fantasia
,Pessoa
,Cd_contabil_for
,Cd_condicao_pag
,Cd_tipo_de_paga
,Cd_tipo_operaca
,Inscrito
,Irrf_acumulado
,Tipo_de_empresa
,Atividade
,Funcionarios
,Faturamento
,Limite_de_credi
,Cd_mercado
,Usuario_modific
,Envia_cobranca
,Pr_tabela_de
,Agenda_interna
,Cd_pais
,Cd_centralizado
,Atraso_medio
,'*' Numero
,Complemento
,Inscricao_munic
,Suframa
,Tipo_frete
,Pe_comis_emissa
,Pe_desconto_1
,Pe_desconto_2
,Pe_juros_padrao
,Dt_ultima_atual
,Cd_unidade_de_n
,Cd_portador_pad
,Ativo
,Sessao
,Cd_ctb_adi_cli
,Cd_ctb_adi_for
,Cd_centro_armaz
,Cd_indice_credi
,Usuario_criacao
,Dt_modificacao
,Cd_regiao_entre
,Dt_validade_cre
,Cd_setor
,Campo67
,Campo68
,Campo69
,Campo70
,Campo71
,Campo72
,Campo73
,Campo74
,Campo75
,Campo76
,Campo77
,Campo78
,Campo79
,Campo80
,Campo81
,Campo82
,Campo83
,Campo84
,Campo85
,Campo86
,Campo87
,Campo88
,Campo89
,Campo90
,Campo1
,Campo92
,Campo93
,Campo94
,Usrempr1
,Usrempr2
,Usrempr3
,Usrempr4
,Usrempr5
,Conta_entrada
,Conta_saida
from GEEMPRES
  • O objeto de banco ficará organizado da seguinte forma:
    • EXVW_LGPD_GEEMPRES

Voltar ao início

Versão 191104

  1. Liberado a partir da OS 578202/3.

Notas

  1. 1,0 1,1 1,2 View - Em banco de dados relacionais, uma visão (ou "view"), é uma consulta armazenada no banco de dados geralmente chamada de "tabela virtual".