2017-01-26 1 views
0

Ich habe eine Anwendung in MS Access entwickelt, und ich bin derzeit auf eine Webanwendung mit Apache Tomcat.SQLServer Windows Authentifizierung durch Tomcat

Die Access-Anwendung hat unsere SQL Server-Datenbank vollständig verknüpft, so dass es die gesamte Kontrolle über die Daten hat.

Die Anwendung führt einen versteckten Prozess aus, indem sie die ActiveDirectory-Authentifizierung an den SQL Server übergibt, sodass die Benutzer ihre Kennwörter nicht eingeben.

Aber von Tomcat, habe ich versucht, auf dem SQL Server mit JDBC-Treiber und Windows-Authentifizierung (jdbc:sqlserver://SERVERADDRESS;integratedSecurity=true;) in nur einer jsp Datei zu verbinden, um die Datenbankverbindung zu testen.

Das Problem hier ist, anstatt die Benutzeranmeldung übergeben, die die App über seinen Webbrowser gestartet hat, gibt es die Server-ID (Which ist DOMAIN\SERVERNAME).

Kann ich den Benutzernamen auf diese Weise erhalten, oder muss ich mein Verbindungssystem komplett ändern?

Antwort

1

Unmöglich ohne Delegierung der Anmeldeinformationen/S4U-Dienste für Kerberos. Insbesondere, wenn Sie nicht die Java-Kerberos-Implementierung, sondern die von Windows SSPI verwenden.

Starten Sie Ihre Benutzer zunächst über SPNEGO zu authentifizieren, dann kommen Sie zurück.

+0

Ist Kerberos vollständig transparent? Ich meine, die Nutzer müssten nichts zusätzlich tun? –

+0

Ja, das ist richtig. Alles ist auf Active Directory-Ebene und Ihrem Code konfiguriert. Zero conf für Ihre Kunden. IE aktiviert standardmäßig die Delegierung. Firefox ist ein kleiner Schalter. –

+0

Danke für Ihre Hilfe! –

Verwandte Themen