Autenticazione integrata di Windows Active Directory Java
-
06-07-2019 - |
Domanda
Puoi vedere nei seguenti post
http://forums.sun.com/thread.jspa?threadID=603815
http: / /forums.devshed.com/ldap-programming-76/active-directory-services-using-java-api-89586.html
un esempio di accesso a LDAP utilizzando la classe InitialLdapContext
in Java. Ciò richiede un login e una password per essere passati. (Anche se l'account del servizio o l'utente che esegue il processo java ha già effettuato l'accesso per poter essere eseguito.)
Poiché l'utente o l'account del servizio sono già connessi, possono già eseguire comandi di Active Directory come il seguente senza un nome utente o una password:
dsquery user -samid "login" |dsget user -samid -email -display
Quindi perché Java ha bisogno del login e di una password - se questa query è già disponibile per Windows? Kosuke suggerisce che non è necessario in questo post del blog in conclusione:
La mia domanda è: come possiamo chiamare active directory in Java senza:
- utilizzando un login o password (in esecuzione con un account che ha già effettuato l'accesso)?
- eseguire un comando sulla riga di comando?
Soluzione
Questo probabilmente si verifica perché
- Stai utilizzando librerie / contesti LDAP per comunicare con Active Directory e queste librerie devono supportare altri tipi di LDAP (AD conta anche come LDAP?)
- I fornitori di queste implementazioni sono quelli che lo richiedono. La comunicazione LDAP viene effettuata tramite provider che forniscono l'implementazione, non viene eseguita dall'effettivo runtime Java.
- La password dell'utente corrente non è (spero) effettivamente fornita da Windows a Java.
Quando Windows esegue l'autenticazione con AD mentre si eseguono applicazioni che lo richiedono, presenta alcune altre credenziali oltre alla password effettiva. Queste credenziali non sono disponibili in Java, o almeno nessuno dei provider dei comunicatori LDAP ha fornito un modo per recuperarlo.
Nell'altro suo blog post sul subject Kohsuke si espande un po 'di più sul perché le cose sono come sono in Java-land quando si tratta di Active Directory.
Altri suggerimenti
Inoltre puoi consultare il link qui sotto per trovare istruzioni dettagliate per far funzionare l'autenticazione integrata di Windows nella piattaforma Java.
http://webmoli.com/ 2009/08/29 / single-sign-on-a-java-platform /