Child pages
  • Autenticação de usuários por LDAP
Skip to end of metadata
Go to start of metadata

O CSGrid e os sistemas CSBase usam a biblioteca java ldap.jar, distribuída pela Novell, para fazer a autenticação por LDAP no login dos usuários. A versão usada do protocolo LDAP é a versão 3 (LDAPv3).

Além disso, o CSBase define propriedades que você deve configurar no System.properties da instalação do sistema CSBase.

Uma dessas propriedades é LoginService.loginMethod que define qual o método utilizado pelo login no CSBase. Tem duas opções, LOCAL ou LDAP. O default é LOCAL. Você deve redefinir essa propriedade no System.properties para que seja usado LDAP como método de autenticação, da seguinte forma:

LoginService.loginMethod = LDAP

As propriedades LoginService.LDAPServer.<sequential-number> e LoginService.LDAPPort.<sequential-number> definem os servidores LDAP e suas respectivas portas. Dependendo da configuração da instalação LDAP do ambiente, pode ser usado mais de um par "server" e "port". Por isso que o nome da propriedade possui um valor numérico seqüencial (1, 2, 3, etc). Por exemplo:

LoginService.LDAPServer.1 = xxx1.domain.biz
LoginService.LDAPPort.1   = 389
LoginService.LDAPServer.2 = yyy2.domain.biz
LoginService.LDAPPort.2   = 389
LoginService.LDAPServer.3 = yyy2.domain.biz
LoginService.LDAPPort.3   = 389

A propriedade LoginService.LDAPPattern.<sequential-number> do CSBase serve para o administrador configurar os diferentes Distinguished Names usados na autenticação. O CSBase tenta usar cada um deles nos diferentes servidores LDAP listados na propriedade anterior.

# Lista de padrões para autenticação dos usuários no formato UPN do Active Directory. [%U] é substituído pelo login do usuário.
LoginService.LDAPPattern.1 = [%U]@petrobras.biz
LoginService.LDAPPattern.2 = [%U]@petrobras.com.br
LoginService.LDAPPattern.3 = [%U]@ani.petrobras.biz
...

A propriedade LoginService.LDAPPattern.<sequential-number> pode estar no formato UPN (User Principal Name: <user>@<DNS-domain-name>) ou DN (Distinguished Names). O formato UPN, é padrão proprietário do Active Directory. Já o formato DN é o padrão mais comum usado em servidores LDAP, como o OpenLDAP. Portanto, o formato UPN somente pode ser usado em servidores ActiveDirectory, como é o caso atual na Petrobras.
Para servidores LDAP-compliant é preciso autenticar-se através de DN (Distinguished Names) que seguem um padrão de formação diferente, como mostra o exemplo a seguir.

# Lista de padrões para autenticação dos usuários no formato DN (LDAP-compliant). [%U] é substituído pelo login do usuário.
LoginService.LDAPPattern.1 = cn=[%U],ou=usuarios,dc=tecgraf,dc=puc-rio,dc=br

Uma observação: a ordem tanto dos servidores como dos domínios pode ser relevante para o sistema (e depende do ambiente). Por exemplo, se um usuário X só puder ser validado no servidor n, o serviço de login vai tentando e rejeitando na ordem em que a seqüência das propriedades foi definida.

Finalmente, essas duas últimas propriedades do CSBase também são usadas pelo login por LDAP: LoginService.LDAPConnectionTimeout e LoginService.LDAPCharSet.

A propriedade LoginService.LDAPConnectionTimeout serve para determinar o tempo máximo (em segundos) que serve de limite para as operações das conexões LDAP. O default configurado no CSGrid é 5s:

LoginService.LDAPConnectionTimeout = 5

A propriedade LoginService.LDAPCharSet define o encoding utilizado na conversão da senha em uma seqüência de bytes. O default configurado no CSGrid é UTF8:

LoginService.LDAPCharSet = UTF8
  • No labels