Domanda

Come funziona l'autenticazione della connessione sicura JDBC di SQL Server? (ovvero come la connessione attendibile autentica l'utente AD connesso in modo così trasparente ed elegante e come posso implementare una soluzione di autenticazione simile per le mie applicazioni client-server in Java senza una connessione al database o alcun uso della soluzione SQL Server esistente .)

Ipotesi * Funziona in un dominio Windows 2003 * Hai accesso all'API di Windows tramite JNI / JNA

È stato utile?

Soluzione

Dipende dal client. Ad esempio, se si dispone di un browser Web, è possibile utilizzare l'autenticazione NTLM per passare al server l'autenticazione di dominio del client corrente. In questo caso il browser come IE o FF supporta questo e il tuo server web ha bisogno del supporto per NTLM. Ad esempio qui per Tomcat: http://jcifs.samba.org/src/docs/ ntlmhttpauth.html

Esiste anche la protezione SPNEGO in combinazione con Kerberos, come spiegato qui: http://java.sun.com/javase/6/docs/technotes/guides/security/jgss/lab/index.html

Se hai il tuo client, dipende dal framework del client se è in grado di utilizzare il contesto di sicurezza dell'utente locale ed è in grado di trasmetterlo. La pagina sopra descrive questo almeno per uno scenario Kerberos.

Saluti Bernd

PS: non sono sicuro che sia possibile passare il contesto di autenticazione stabilito con la soluzione jcifs / ntmlm a un componente back-end come SQL Server. Dovrebbe funzionare con i ticket Kerberos (se configurati).

Altri suggerimenti

jTDS e Microsoft JDBC Driver offrono entrambi l'autenticazione nativa di Windows.

Hai visto questa domanda ? La situazione sembra essere simile alla tua (connessione a un database SQL Server mediante l'autenticazione di Windows).

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