Domanda

Ho lavorato su un progetto che utilizza SPNEGO per avere un singolo segno per un webbapp basato su Java. Al momento, sta funzionando con successo con Jetty + SpNego e Active Directory, quindi se si visita la mia pagina di prova, può emettere Auth_User e il token negoziato se il browser è stato configurato correttamente.

La fase successiva del progetto è quella di poter passare quell'utente e il token ai servizi Web di Exchange come autenticazione in modo da poter accedere alla directory di scambio di utenti remoti (posta, contatti ecc.)

Ho eseguito JAX-WS per generare i file STUB dal file Services.WSDL e in grado di connettersi allo scambio utilizzando queste classi. L'unico problema è che autenticò solo l'utente che esegue il server Web, non l'utente remoto.

Ho anche notato che non riesco a trovare la classe corretta per passare il token, piuttosto che il nome utente e la password per le EWS. Inoltre, i file generati non hanno riferimenti a SPNEGO.

Qualcuno sa di una possibile soluzione, o sembra che dovrò generare manualmente le chiamate di sapone piuttosto che usare le classi generate?

Grazie per il tuo tempo

È stato utile?

Soluzione 2

Siamo riusciti a ottenere una soluzione fino e eseguire ora utilizzando Apache HTTP client 4.1 Libreria Alpha / Samba JCIFS e generare le richieste SOAP.Ciò consente di avere più utenti registrati senza alcuna configurazione richiesta al proprio account di Exchange.

Abbiamo utilizzato HttpClient 3.1 ma ha effettuato problemi a causa della modifica del protocollo NTLM con versioni più recenti di Windows, quindi siamo aggiornati alla versione più recente.

Altri suggerimenti

Penso che il modo migliore per autenticare contro l'EWS è utilizzare l'utente che esegue il server Web.Questo è il tuo " Account di servizio " per i servizi Web di Exchange.Questo account ha bisogno del privilegio "Exchange Services Imperesonation" (ms-Exch-EPI-Impersonation).

Se si desidera accedere ai dati remoti di scambio degli utenti è necessario utilizzare "Scambio impersonazione" nelle chiamate.Per il singolo utente di Exchange Server (" funzioni come account ") Devi consentire l'account di servizio che può impersonizzarli per impostazioni il privilegio "Consenti impersonazione alle informazioni di scambio personale" (ms-Exch-EPI-May-Impersonate).

.

Allora, ogni chiamata è autenticata utilizzando lo stesso account di servizio, ma quindi si comporta come un utente specifico / cassette postali utilizzando l'impersonazione di scambio nelle chiamate.

Il singolo accesso nel WebApp viene utilizzato per determinare la corrente "agire come account" da utilizzare per l'impersonazione di scambio.È necessario l'indirizzo email degli utenti o il SID per questo.

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