Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 

Índice

Índice
maxLevel4
outlinetrue
exclude.*ndice
stylenoneÍndcie

 

Objetivo

O objetivo deste guia é orientar o administrador do fluig sobre como configurar a plataforma para permitir acesso dos usuários através das credenciais existentes em um diretório, como o Active Directory, via protocolo LDAP (Lightweight Directory Access Protocol).

...

Bloco de código
languagexml
titledomain.xml
<security-domain name="TOTVSTech" cache-type="default">
    <authentication>
        <login-module code="com.totvs.foundation.auth.FoundationDatabaseServerLoginModule" flag="required" module="com.totvs.foundation.auth">
            <module-option name="hashAlgorithm" value="MD5"/>
            <module-option name="hashEncoding" value="HEX"/>
            <module-option name="principalClass" value="com.totvs.technology.foundation.common.TOTVSTechPrincipal"/>
        </login-module>
    </authentication>
</security-domain>

3. Acesso Informe os dados de acesso à fonte de dados LDAP, conforme o tipo de validação utilizado em seu Active Diretory:

Deck of Cards
idldap
Card
labelSem credencial

 

  • Caso seja utilizado a forma de validação direta, sem necessidade credencial, substitua pelo trecho abaixo:
 
Bloco de código
languagexml
<security-domain name="TOTVSTech" cache-type="default">
 <authentication>
  <login-module code="com.totvs.foundation.auth.FoundationLdapLoginModule" flag="required" module="com.totvs.foundation.auth">
    <module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
    <module-option name="java.naming.provider.url" value="ldap://<SERVIDOR>:<PORTA>/"/>
    <module-option name="java.naming.security.authentication" value="simple"/>
    <module-option name="java.naming.security.protocol" value=""/>
    <module-option name="uidAttributeID" value="sAMAccountName"/>
    <module-option name="principalDNSuffix" value="@<DOMINIO>"/>
    <module-option name="rolesCtxDN" value="DC=local"/> <!-- Não alterar, variável padrão -->
    <module-option name="loginCombinedWithDatabase" value="false"/>
    <module-option name="hashAlgorithm" value="MD5"/>
    <module-option name="hashEncoding" value="HEX"/>
    <module-option name="principalClass" value="com.totvs.technology.foundation.common.TOTVSTechPrincipal"/>
   </login-module>
 </authentication>
</security-domain>
Card
labelCom credencial

 

  • Para executar essa configuração, é necessário Caso seja utilizado o LDAP com necessidade de credencial, deve-se possuir as credenciais de um usuário válido e com permissão de consulta no diretório LDAP (Active Directory). Os dados de acesso devem ser informados nas propriedades java.naming,security.principal (login) e java.naming,security.credentials (senha) do arquivo domain.xml.Caso seja utilizado o LDAP com necessidade de credencial, substitua , após substituir pelo trecho abaixo:.

 

Bloco de código
languagexml
<security-domain name="TOTVSTech" cache-type="default">
<authentication>
<login-module code="com.totvs.foundation.auth.FoundationExtLdapLoginModule" flag="required" module="com.totvs.foundation.auth">
<module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
        <module-option name="java.naming.provider.url" value="ldap://<SERVIDOR>:<PORTA>/"/> 
        <module-option name="java.naming.security.authentication" value="simple"/> 
        <module-option name="java.naming.security.protocol" value=""/> 
        <module-option name="java.naming.security.principal" value="<USUARIO>@<DOMINIO>"/> <!-- Exemplo: value="[email protected]" -->
        <module-option name="java.naming.security.credentials" value="<SENHA>"/> 
        <module-option name="uidAttributeID" value="sAMAccountName"/> 
        <module-option name="baseFilter" value="(sAMAccountName={0})"/> 
        <module-option name="loginCombinedWithDatabase" value="false"/> 
        <module-option name="baseCtxDN" value="DC=<ESTRUTURA>"/> 
        <module-option name="rolesCtxDN" value="DC=<ESTRUTURA>"/> 
        <module-option name="hashAlgorithm" value="MD5"/> 
        <module-option name="hashEncoding" value="HEX"/>
        <module-option name="principalClass" value="com.totvs.technology.foundation.common.TOTVSTechPrincipal"/>
        </login-module> 
   </authentication> 
</security-domain>

...

 

Dica
titleDica

Caso opte por utilizar o login "combinado", ou seja, login/senha da rede E do banco de dados, altere o valor da propriedade loginCombinedWithDatabase para "true".

 

 

 

AD - Login dos usuários

Acesso

4. Para que o usuário consiga efetuar login no acessar o fluig utilizando LDAP, seu usuário login deverá ser criado utilizando o padrão do AD em questão, um exemplo de nome de usuário do AD seria: Active Directory (AD) configurado.

Informações
iconfalse
titleExemplo

Login: nome.sobrenome

E-mail: [email protected]

...

O login e e-mail do usuário no AD devem ser iguais ao login e e-mail

...

deste usuário cadastrados no fluig

...

.

...

Dica
titleDica

Não há necessidade da senha do usuário no fluig ser igual a à cadastrada no AD.

Informações
titleDetalhes de configuração

Propriedades rolesCtxDN e baseCtxDN

O módulo de login LDAP passa as propriedades para definir a busca por um determinado usuário e seus papéis para o servidor LDAP.


Definindo pesquisa por papel (Defining Role Search)

rolesCtxDN,  utiliza a configuração de pesquisa de função semelhante as configurações do LdapExtLoginModule, entretanto a recursão usada encontra os papéis listados dentro de um DN.

Para tanto ele usa o DN fixo do contexto de pesquisa para papéis de usuário. Considere que este não é o nome distinto de onde os papéis são reais, em vez disso,

este é o DN de onde os objetos que contêm os papéis de usuário (por exemplo, para o diretório active, este é o DN onde a conta de usuário está).

 

Definindo pesquisa DN (Defining DN Search)

baseCtxDN, define o DN fixo do contexto de pesquisa para papéis de usuário. Considere que este não é o nome distinto de onde os papéis reais estão localizados,

mas o DN dos objetos que contêm a localização dos papéis de usuário (isto é, para o diretório ativo, este é o DN com a conta de usuário).

 

Mais informações sobre as propriedades rolesCtxDN e baseCtxDN aqui.

Exemplo de uso aqui.

...