Como configurar o LDAP no ApacheDS para usar o uid para autenticação?

1

Ao adicionar um novo usuário em dc=example,dc=com usando o Apache Directory Studio, eu tenho essa estrutura em árvore:

dc=example,dc=com
|-- ou = engineering
     |-- cn = Lawrence K.H Loh+o=IKEA+sn=Loh+uid=lawrence+displayName=Lawrence

Abaixo está a lista de atributos para o cn .

  1. objectClass = inetOrgPerson
  2. objectClass = organizationalPerson
  3. objectClass = pessoa
  4. objectClass = top
  5. cn = Lawrence K.H Loh
  6. sn = Loh
  7. displayName = Lawrence
  8. o = IKEA
  9. uid = lawrence
  10. userPassword = senha hash do SSHA

Existe este erro LDAP: error code 49 - INVALID_CREDENTIALS: Bind failed: Attempt to lookup non-existant entry quando conecto esta entrada através de uid=lawrence,ou=engineering,dc=example,dc=com . Mas está funcionando bem se eu estou usando este cn=Lawrence K.H Loh+o=IKEA+sn=Loh+uid=lawrence+displayName=Lawrence,ou=engineering,dc=example,dc=com . Posso saber como posso mudar para uid=lawrence em vez do nome longo para autenticação?

    
por huahsin68 10.03.2013 / 07:48

1 resposta

2

Com esse objeto específico, é improvável que você consiga. O LDAP está procurando por você para ligar com o nome distinto (DN) do objeto, e o atributo primário neste caso é cn . Essa é uma decisão de design deliberada porque não há garantia de que qualquer atributo de objetos dentro de um contêiner seja exclusivo, exceto aquele que está associado ao seu DN.

Isso não impedirá que os serviços pesquisem seu diretório e determinem que uid=lawrence está associado a esse DN específico (e, portanto, podem encontrar outros atributos necessários fora desse objeto), mas quaisquer chamadas que precisem explicitamente para ser executado em um DN só pode ser executado contra o atributo principal.

Isso não quer dizer que não há maneiras de evitar a especificação de um DN. Implementar a autenticação SASL e definir um mapa entre IDs SASL e DNs é importante. Mas, no contexto da sua pergunta, não, você não pode mudar para usar um atributo não primário do DN no qual está autenticando no lugar do DN.

    
por 10.03.2013 / 08:40