Pergunta

Você pode ver nas postagens seguintes

http://forums.sun.com/thread.jspa?threadid=603815

http://forums.devshed.com/ldap-programming-76/active-directory-ervices-using-java-api-89586.htmlum exemplo de acesso ao LDAP usando o InitialLdapContext classe em java. Isso requer um Conecte-se e a senha a ser aprovado. (Embora a conta de serviço ou o usuário executando o processo Java já tenha acessado para poder executar.)

Como a conta de usuário ou serviço já está conectada - eles já podem executar comandos do Active Directory, como o seguinte, sem um nome de usuário ou senha:

dsquery user -samid "login" |dsget user -samid -email -display

Então, por que Java precisa do Conecte-se e a senha - Se esta consulta já estiver disponível para o Windows? Kosuke sugere que não é necessário nesta postagem do blog em conclusão:

https://community.oracle.com/blogs/kohsuke/2008/06/12/more-active-directory-integration-java

Minha pergunta é - como podemos ligar para o Active Directory em Java sem:

  • usando um Conecte-se ou senha (executando em uma conta que já está conectada)?
  • executando um comando na linha de comando?
Foi útil?

Solução

Isso provavelmente ocorre porque

  • Você está usando as bibliotecas/contextos LDAP para se comunicar com o Active Directory, e essas bibliotecas precisam suportar outros tipos de LDAP (o AD até conta como LDAP?)
  • Os fornecedores dessas implementações são os que exigem. A comunicação LDAP é feita por meio de fornecedores que fornecem a implementação, isso não é feito pelo tempo de execução do Java real.
  • A senha do usuário atual não é (espero) realmente fornecida pelo Windows para Java.

Quando o Windows o autentica contra o anúncio ao executar aplicativos que o exigem, ele apresenta algum outro conjunto de credenciais além da senha real. Essas credenciais não estão disponíveis no Java, ou pelo menos nenhum dos fornecedores de comunicadores LDAP forneceu uma maneira de recuperá -lo.

Em sua outra postagem de blog sobre o assunto Kohsuke se expande um pouco mais sobre por que as coisas são do jeito que estão na terra de Java quando se trata do Active Directory.

Outras dicas

Além disso, você pode procurar o link abaixo para encontrar instruções detalhadas para fazer com que o Windows integrado a autenticação funcionando na plataforma Java.

http://webmoli.com/2009/08/29/single-sign-on-in-java-platform/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top