Wie funktioniert Trusted der SQL Server-JDBC-Verbindungs Authentifizierung arbeiten?
-
03-07-2019 - |
Frage
Wie funktioniert die SQL Server JDBC-Verbindungsauthentifizierung Arbeit Trusted? (Dh wie die gesicherte Verbindung die in Active Directory-Benutzer in einer solchen transparenten und elegante Art und Weise protokolliert authentifizieren und wie kann ich eine ähnliche Authentifizierungslösung für meine Client-Server-Anwendungen in Java ohne Datenbankverbindung oder eine Nutzung der vorhandenen SQL Server-Lösung implementieren ).
Annahmen * Arbeiten in einer Windows 2003-Domäne * Sie haben Zugriff auf den Windows-API über JNI / JNA
Lösung
Es hängt von dem Client. Zum Beispiel, wenn Sie einen Web-Browser haben, kann es die NTLM-Authentifizierung verwenden, um die Domänenauthentifizierung Ihres aktuellen Client an den Server zu übergeben. In diesem Fall wird der Browser wie IE oder FF unterstützt dies, und Sie Web-Server benötigt die Unterstützung für NTLM. Zum Beispiel hier für Tomcat: http://jcifs.samba.org/src/docs/ ntlmhttpauth.html
Es gibt auch die SPNEGO Protcol in Kombination mit Kerberos, wie hier erläutert: http://java.sun.com/javase/6/docs/technotes/guides/security/jgss/lab/index.html
Wenn Sie eine eigene Client haben, hängt es von dem Rahmen des Kunden, wenn es in der Lage ist, die lokale Sicherheitskontext des Benutzers zu verwenden, und ist in der Lage, es weiterzugeben. Die Seite oben beschrieben, dies zumindest für ein kerberos Szenario.
Grüße Bernd
PS: Ich bin nicht sicher, ob Sie den Authentifizierungskontext mit dem jCIFS / ntmlm Lösung auf eine Back-End-Komponente wie SQL Server etabliert passieren können. Es sollte mit Kerberos-Tickets arbeiten (falls konfiguriert).
Andere Tipps
jTDS und Microsoft JDBC-Treiber beide bieten native Windows-Authentifizierung.
Haben Sie sich unter diese Frage ? Die Situation scheint ähnlich wie bei Ihnen zu sein (einer Verbindung zu einer SQL Server-Datenbank unter Verwendung von Windows-Authentifizierung).