Motivação
Para poder segmentar qual grupo de servidores o perfil terá acesso, por exemplo, coordenadoria do HU, deveria ver somente o pessoal do HU;
Antes disso, o ADRHWeb-pessoa liberava o acesso a dados de todas os servidores do sistema;
Solução
Criar permissões parametrizadas:
Para visualização de todas as pessoas;
Para visualização de pessoas no mesmo setor de lotação;
Para visualização de pessoas no mesmo setor de localização de exercício;
Para visualização de pessoas no mesmo setor de localização física;
Para visualização de pessoas de outros setores, devido à impossibilidade de acesso à própria hierarquia, ex.: subsetor de coordenadoria acessar dados de todas as pessoas desta coordenadoria;
Preparar as telas do ADRHWeb-pessoa para interpretar os parâmetros configurados nos perfis;
Configuração
Interpretar todos os atributos dos papéis que começam com nome:
Pessoa:GRUPOPESSOAS:
O sistema valida todos os possíveis atributos;
Todos os papéis precisam ter como qualificador a expressão:
s == 'SERVIDOR'
Todos os papéis devem ter ao menos um atributo válido, podem ser combinados mais de um atributo para que o papel aglomere mais pessoas para o grupo de acesso;
Em casos de atributos NOT multivalorado, deve ser informado um valor fixo de setor.
O sistema buscará internamente todos os setores em ordem descendente do tipo de setor parametrizado;
Em casos de atributos multivalorado, o sistema trará todos os setores devidos de autorização a partir do retorno dos atributos;
Atributos válidos:
atributos de valor literal: '123456' (NOT multivalorado)(NOT obrigatório)
codigoLotacaoDescendente;
codigoLocalizacaoFisicaDescendente;
codigoLocalizacaoExercicioDescendente;
atributos de valor via expressao, ex: s['atributoDeS'] (multivalorado)(NOT obrigatório)
codigosLotacaoDescendente = s['codigoLotacaoDescendente'];
codigosLocalizacaoFisicaDescendente = s['codigoLocalFisicoDescendente'] ;
codigosLocalizacaoExercicioDescendente = s['codigoLocalizacaoDescendente'] ;
Exemplo de agrupamento por múltiplos setores: Pessoa:GRUPOPESSOAS:PRODEGESP e Pessoa:GRUPOPESSOAS:SETIC;
Estes grupos usam de 2 atributos para agrupar as pessoas que são lotadas ou tem como localização de exercício os parâmetros informados;
O papel criado concede a permissão de acesso ao grupo de pessoas, para se criar um papel de COORDENADORIA, por exemplo, é necessário criar antes um papel da permissão do grupo de pessoas, e coloque como papel englobado, para que faça mais sentido;
Perfis criados
Pessoa:GRUPOPESSOAS:ALL
nenhuma parametrização, o sistema irá interpretar nominalmente este grupo e irá liberar consulta a todas as pessoas;
Pessoa:GRUPOPESSOAS:LOCEXERCICIO
qualificadores:
s == 'SERVIDOR'
atributos:
codigosLocalizacaoExercicioDescendente (multivalorado)(NOT obrigatório)
s['codigoLocalizacaoDescendente']
Pessoa:GRUPOPESSOAS:LOCFISICO
qualificadores:
s == 'SERVIDOR'
atributos:
codigosLocalizacaoFisicaDescendente (multivalorado)(NOT obrigatório)
s['codigoLocalFisicoDescendente']
Pessoa:GRUPOPESSOAS:LOTACAO
qualificadores:
s == 'SERVIDOR'
atributos:
codigosLotacaoDescendente (multivalorado)(NOT obrigatório)
s['codigoLotacaoDescendente']
extras:
Pessoa:GRUPOPESSOAS:PRODEGESP
qualificadores:
s == 'SERVIDOR'
atributos:
codigoLotacaoDescendente (NOT multivalorado)(NOT obrigatório)
'11786'
codigoLocalizacaoExercicioDescendente (NOT multivalorado)(NOT obrigatório)
'11786'
Pessoa:GRUPOPESSOAS:SETIC
qualificadores:
s == 'SERVIDOR'
atributos:
codigoLotacaoDescendente (NOT multivalorado)(NOT obrigatório)
'10324'
codigoLocalizacaoExercicioDescendente (NOT multivalorado)(NOT obrigatório)
'10324'
Resultados
Com permissão
Com algumapermissão restrita à coordenadoria da SETIC
Ou, com nenhuma permissão de acesso ao agrupamento de pessoas
FIM