Código fonte Wiki de Cadastro de LDAP (710)
Última modificação por FlowFast em 2026/05/28 13:47
Mostrar últimos autores
| author | version | line-number | content |
|---|---|---|---|
| 1 | Cadastro para realizar integração com LDAP | ||
| 2 | |||
| 3 | Possibilidades de integração: | ||
| 4 | |||
| 5 | 1. Autenticação do usuário(validação de usuário e senha). | ||
| 6 | 1. Criação e manutenção de usuário no FlowFast relacionando grupo do LDAP com usuário modelo do FlowFast. | ||
| 7 | 1. Manutenção do setor usuário no FlowFast relacionando grupo do LDAP com setor do FlowFast. | ||
| 8 | 1. Permissão de menus do FlowFast relacionando grupo do LDAP com menu do FlowFast. | ||
| 9 | 1. Permissão de processos do FlowFast relacionando grupo do LDAP com processo do FlowFast. | ||
| 10 | 1. Permissão de páginas/objetos relacionando grupo do LDAP com páginas do FlowFast. | ||
| 11 | |||
| 12 | ===== Campos para autenticação ===== | ||
| 13 | |||
| 14 | Para realizar a autenticação (item 1) necessário somente informar os campos abaixo | ||
| 15 | |||
| 16 | |String de autenticação|String para autenticação do usuário no LDAP. | ||
| 17 | Deve conter a chave de substituição {usuario_ldap} onde será substituído pelo usuário informado. | ||
| 18 | Ex:((( | ||
| 19 | * dominio\{usuario_ldap} | ||
| 20 | * uid={usuario_ldap}, ou=usuarios, dc=subgrupo, dc=br | ||
| 21 | ))) | ||
| 22 | |Host/URL|((( | ||
| 23 | URL para conexão com LDAP | ||
| 24 | Ex: | ||
| 25 | |||
| 26 | * ldap:~/~/192.168.1.15 | ||
| 27 | ))) | ||
| 28 | |Maiúsculas e minusculas|Identifica se o LDAP diferencia ou não maiúsculas e minusculas para identificar os usuários e grupos | ||
| 29 | |||
| 30 | ===== Campos para integração(criação/manutenção de usuários e/ou permissão) ===== | ||
| 31 | |||
| 32 | Para realizar a manutenção e/ou dar permissões (item 2 ao 5) é necessário informar também os campos abaixo, configurar os grupos para integração e informar no cadastro de [[Tipo de usuários do sistema (308)>>doc:Main.help.adm.pagina.308.WebHome]] o campo //LDAP para importação.// | ||
| 33 | |||
| 34 | |Usuário|Usuário com permissão para buscar informações no LDAP dos grupos e dos usuários | ||
| 35 | |Senha|Senha do usuário acima | ||
| 36 | |Contexto da busca|Contexto inicial de busca dentro da árvore do LDAP. | ||
| 37 | Ex:((( | ||
| 38 | * DC=flowfast,DC=com | ||
| 39 | * OU=Usuarios,DC=flowfast,DC=com | ||
| 40 | ))) | ||
| 41 | |RegEx grupo|Expressão regular para capturar o CN(Common Name) do grupo a partir do DN(distinguishedName). OBS: se não informada será utilizado o DN completo para identificar os grupos. | ||
| 42 | Ex: CN=(?<cn>.*?)(?:,[A-Z]+=~|$) | ||
| 43 | OBS: deve conter um grupo de captura nomeado com //**cn**//, como no exemplo | ||
| 44 | O exemplo acima será carregado como default no cadastramento. | ||
| 45 | |||
| 46 | ==== Configuração dos grupos para integração ==== | ||
| 47 | |||
| 48 | |(% style="width:174px" %)Tipo|(% style="width:1350px" %)((( | ||
| 49 | Define o que o grupo fará com o usuário que possui-lo no LDAP | ||
| 50 | |||
| 51 | * 1-Definir usuário modelo - Criação e manutenção de usuário no FlowFast com o usuário modelo informado. | ||
| 52 | * 2-Definir setor - Altera o usuário no FlowFast para o setor informado. | ||
| 53 | * 3-Permissão de menu - Libera acesso ao menu informado. | ||
| 54 | * 4-Permissão de processo - Libera acesso a solicitação do processo informado. | ||
| 55 | * 5-Permissão de página/objeto avulso - Libera acessa a uma página. | ||
| 56 | ))) | ||
| 57 | |(% style="width:174px" %)Tipo interpretação|(% style="width:1350px" %)((( | ||
| 58 | Define a forma como o grupo será interpretado para atrelar ao tipo relativo no FlowFast | ||
| 59 | |||
| 60 | * 1-Fixa (1 para 1) - O grupo definido é exatamente o nome do grupo no LDAP e deve ser informado o item correspondente no FlowFast. | ||
| 61 | * 2-Dinâmica (múltiplos) - O grupo definido deve seguir um padrão onde uma parte do nome do grupo deve ter o código do item correspondente no FlowFast. | ||
| 62 | * 3-Por atributo - Disponível somente para o tipo 2-Definir setor. O setor será determinado a partir de um atributo do usuário no LDAP. | ||
| 63 | |||
| 64 | Quando selecionada a opção 3-Por atributo serão habilitados os campos: | ||
| 65 | |||
| 66 | * Nome do atributo - Nome do atributo do LDAP que será lido do usuário. | ||
| 67 | * Função banco tratamento atributo - Função de banco responsável por interpretar o valor do atributo e retornar o código do setor. | ||
| 68 | |||
| 69 | A função deve receber: | ||
| 70 | |||
| 71 | * ID do usuário | ||
| 72 | * Valor do atributo lido no LDAP | ||
| 73 | |||
| 74 | E deve retornar: | ||
| 75 | |||
| 76 | * Código do setor (Long) | ||
| 77 | |||
| 78 | Exemplo de assinatura: | ||
| 79 | |||
| 80 | ((( | ||
| 81 | {{code language="sql"}} | ||
| 82 | CREATE OR REPLACE FUNCTION xes_0000_busca_setor( | ||
| 83 | in_des_usuario VARCHAR, | ||
| 84 | in_valor VARCHAR | ||
| 85 | ) | ||
| 86 | RETURNS NUMERIC | ||
| 87 | {{/code}} | ||
| 88 | ))) | ||
| 89 | |||
| 90 | Exemplo: | ||
| 91 | O atributo department do usuário no LDAP possui valor "Comercial - 1500". | ||
| 92 | A função poderá converter este valor para o setor correspondente no FlowFast. | ||
| 93 | ))) | ||
| 94 | |(% style="width:174px" %)ID do grupo|(% style="width:1350px" %)((( | ||
| 95 | Deve ser informado o Common Name(CN) do grupo do LDAP quando o campo RegEx grupo no cadastro principal está informado. Se não estiver informado deverá ser informado o Distinguished Name(DN) do grupo no LDAP | ||
| 96 | |||
| 97 | Caso o Tipo interpretação seja = 2-Dinâmica: Deve ser utilizado o carácter # para definir o local onde está o código dentro do nome do grupo com possibilidade de utilizar * como coringa. | ||
| 98 | Ex: Os grupos no LDAP para definir setor seguem o padrão SETOR_XXXX_DESCRITIVO, onde o XXXX é o código do setor no FlowFast e o DESCRITIVO é o descritivo de cada setor.(SETOR_10_RH, SETOR_15_FINANCEIRO). Neste caso deverá ser informado neste campo: **SETOR_#_*** | ||
| 99 | ))) | ||
| 100 | |(% style="width:174px" %)Prioridade|(% style="width:1350px" %)((( | ||
| 101 | É a ordem na qual cada será aplicada a definição do grupo para cada tipo, sendo que considerará a de menor valor encontrado. | ||
| 102 | |||
| 103 | Ex: No LDAP possui 2 grupos A e B, estes grupos estão configurados para definir usuário modelos, USU_A e USU_B, com prioridade 1 e 2, respectivamente. | ||
| 104 | |||
| 105 | Se Usuário X possuir os grupos A e B, ele será cadastrado como usuário modelo USU_A. | ||
| 106 | Se Usuário Y possuir apenas grupo B ele será cadastrado como usuário modelo USU_B. | ||
| 107 | ))) | ||
| 108 | |||
| 109 | ==== Como funciona a sincronização do usuário ==== | ||
| 110 | |||
| 111 | A sincronização se dá a partir da leitura no LDAP com o identificador único do usuário(Account Name), buscando as informações do usuário, como nome(cn), e-mail(mail), matrícula(employeeNumber) e a lista dos grupos(memberOf) que usuário pertence. | ||
| 112 | Com essa lista de grupos é feita a checagem, um a um, com os grupos configurados neste cadastro do LDAP no FlowFast, verificando através do ID do grupo e com cada tipo identificando qual usuário modelo, setor, menus e processos a serem liberados. Com estas informações são realizadas as alterações necessárias no usuário. | ||
| 113 | |||
| 114 | Obs: Não é obrigatório o uso de todos os tipos de grupo, por exemplo, pode ser utilizado o LDAP somente para dar permissões aos menus, ou somente para manter o campo Setor, etc. Porém, para que faça a inclusão automática do usuário é necessário o grupo do tipo 1-Definir usuário modelo. | ||
| 115 | |||
| 116 | A sincronização pode ser feita da seguinte forma: | ||
| 117 | |||
| 118 | * Automaticamente a cada novo login do usuário. | ||
| 119 | * Sincronização unitária pelo cadastro do usuário. | ||
| 120 | * Através da página [[Sincronizar usuários com LDAP (1145)>>doc:Main.help.xcp.objeto.xcp_ldap_Sinc.WebHome]]. |