Alterar DN no OpenLDAP "on the fly"

2

Sou novato no LDAP e tenho o seguinte problema:

Eu uso o OpenLDAP como um proxy de cache para o Active Directory remoto.

E o DN completo de um usuário é como "cn=Doe\, John,ou=users,ou=others,dc=company,dc=com" , enquanto o uid ( sAMAccountName ) é a forma abreviada de primeiro e segundo nome. Por exemplo, John Doe será jdoe .

Já tenho o servidor SVN, o Bugzilla e o ReviewBoard funcionando bem porque eles têm muitas configurações para o suporte a LDAP. Mas agora estou tentando configurar o YouTrack e há uma falta de configurações de LDAP nele.

Eu quero poder fazer o login no YouTrack usando o login curto (como " jdoe "sAMAccountName=$login$,ou=users,ou=others,dc=company,dc=com" , tenho o seguinte erro o tempo todo:

[LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1] which is “invalid credentials”.

Mas se eu especificar o nome completo explicitamente na string de transformação, eu posso logar (mas ninguém mais é claro):

"cn=Doe\, John,ou=users,ou=others,dc=company,dc=com"

Então, minha pergunta é: Posso modificar o DN de um usuário "on the fly" para ter algo assim, por exemplo:

"cn=jdoe,ou=users,ou=others,dc=company,dc=com"

?

    
por GooRoo 05.07.2013 / 16:35

1 resposta

0

Mesmo que esta questão seja um pouco antiga, eu tenho algumas idéias sobre isso. Talvez isso ajude alguém no futuro:

  1. Você poderia simplesmente modificar o DN usando ldapmodify com changetype: moddn ou modrdn fornecendo o novo DN ( newrdn ). Mais informações sobre isso podem ser encontradas no bulletpoint número 4 em aqui: link
  2. Você poderia usar a sobreposição "rwm" no OpenLDAP. Isso permite que você reescreva seu DN, massageie o sufixo ou até mesmo forneça uma visão virtual dos dados. Verifique man 5 slapo-rwm . Essa coisa é realmente poderosa!
  3. Outra maneira seria configurar um alias para a entrada inicial. cn=jdoe,ou=users,ou=others,dc=company,dc=com poderia ser da classe de objeto "alias" e ter sua conta inicial escrita no atributo aliasedObjectName . Tudo o que você precisaria fazer nesse caso seria verificar se a operação ldapsearch segue as referências ou não.

No meu servidor eu tenho uma configuração semelhante e escolhi o terceiro caminho. Para tê-lo completamente limpo, eu criei meu próprio esquema onde eu tenho uma classe de objeto de alias dedicada para isso que fornece os campos adicionais necessários.

    
por 02.12.2016 / 14:43

Tags