come recuperare i campi di dati LDAP aggiuntivi tramite Tomcat (getRemoteUser dà solo il nome)

StackOverflow https://stackoverflow.com/questions/359267

  •  21-08-2019
  •  | 
  •  

Domanda

Ho configurato Tomcat per utilizzare LDAP / AD.

Come posso ottenere maggiori dettagli su l'utente connesso; l'ID utente viene restituito da request.getRemoteUser() ma non il nome completo di cui ho bisogno.

Come faccio ad avere il vero e proprio "displayName" (nome completo) da AD?

Sto usando LDAP / ActiveDirectory / Tomcat 5.5

È stato utile?

Soluzione

Credo che la configurazione di Tomcat con LDAP / AD è di circa accessi (ad esempio il Regno). Perciò Natalia è corretto: Dovrete interrogare il LDAP Server per ulteriori informazioni. Il campo di commento è troppo breve per questo commento, così ho optato per un'altra risposta, dichiarando lo stesso.

La ragione di ciò è che l'interfaccia Regno fornisce un principale, che contiene solo il nome utente e la possibilità di interrogare, se l'utente corrente è in un determinato ruolo (non prevede neppure tutti i ruoli che un principale è in). Questo è sufficiente, ai fini di ottenere restrizioni di accesso in base agli URL in web.xml. Essa non mira a essere il punto centrale di contatto con tutto ciò che è memorizzato nel database utente.

Se non si utilizza l'user-id, ma vuole solo che sostituito con il nome utente completo, si può facilmente scrivere il proprio Reame LDAP, cercando in l'installazione di Tomcat, la creazione di una nuova implementazione Reame e l'aggiunta di un vaso con questo attuazione TOMCAT_HOME / lib (per Tomcat 6.0). Naturalmente è necessario fare riferimento a questa implementazione dal TOMCAT_HOME / conf / server.xml anziché l'implementazione Tomcat standard.

Altri suggerimenti

Sarà necessario interrogare direttamente la directory LDAP per ottenere ulteriori informazioni sull'utente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top