Dies ist ein Nachtrag zum NTLM Post vom 27.6.2007. Ein Kollege hat mir erzählt, dass es möglich sein soll anstatt die IP Adresse des Wins-Servers oder des Domänencontrollers anzugeben, localhost einzutragen. Dies soll einen positiven Einfluss auf die Performance haben. Selber ausprobiert habe ich das noch nie. Einen Versuch ist es sicher wert. <filter> <filter-name>NtlmHttpFilter</filter-name> [...]
NTLM über IIS und Tomcat
Wenn eine Webapplikation im Tomcat installiert ist, dieser mit einem IIS verbunden ist und man zusätzlich das ganze mit Windows Authentication (NTLM) schützen möchte muss im Tomcat ein spezielles Attribut ausgeschaltet werden. Per Default benutzt der Tomcat sein eigenes Auth Schema. Bei einer Authentication durch IIS muss dies mit tomcatAuthentication=”false” im AJP Connector ausgeschaltet werden. [...]
Webservice Authentication
In Java 6 ist die Webservice Library JAX-WS (Version 2.0) bereits eingebaut. Die neueste Version kann unter https://jax-ws.dev.java.net/ heruntergeladen werden. Mit Hilfe des “Endorsed” Mechanismus lässt sich die eingebaute Library übersteuern (Beschreibung). Als Authentication Mechanismen werden folgende Verfahren unterstützt: HTTP Basic authentication (RFC2617) HTTP Digest authentication (RFC2617) NTLM (defined by Microsoft) Http SPNEGO Negotiate (defined [...]
NTLM Konfiguration
Wie bereits erwähnt muss man Parameter für NTLM im web.xml eintragen. Es gibt aber auch einen Weg dies von ausserhalb des WARs zu konfigurieren. 1. Man erstellt ein Property-File mit folgendem Inhalt (; = Kommentar) jcifs.netbios.wins=192.168.20.202 jcifs.smb.client.domain=ANET ;jcifs.smb.client.username= ;jcifs.smb.client.password= ;jcifs.util.loglevel = 10 Name und Ablageort des Files ist egal. 2. Alle Init Parameter im web.xml [...]
Tomcat und NTLM
Mit der JCifs Library ist es möglich NTML Authentication mit dem Tomcat einzusetzen. Man muss dazu im web.xml folgende Filter Definition einfügen: <filter> <filter-name>NtlmHttpFilter</filter-name> <filter-class>jcifs.http.NtlmHttpFilter</filter-class> <init-param> <param-name>jcifs.netbios.wins</param-name> <param-value>10.169.10.77,10.169.10.66</param-value> </init-param> <init-param> <param-name>jcifs.smb.client.domain</param-name> <param-value>NYC-USERS</param-value> </init-param> <init-param> <param-name>jcifs.smb.client.username</param-name> <param-value>somenycuser</param-value> </init-param> <init-param> <param-name>jcifs.smb.client.password</param-name> <param-value>AReallyLoooongRandomPassword</param-value> </init-param> </filter> <filter-mapping> <filter-name>NtlmHttpFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> Ausserdem muss man die jcifs Library ins WEB-INF/lib kopieren. [...]
IE und NTLM
Der IE hat zusammen mit NTLM Authentication ein seltsames Verhalten. Grundlage: http://jcifs.samba.org/src/docs/ntlmhttpauth.html#post Der IE startet bei JEDEM Post Request eine neue NTLM Authentication, sobald er gemerkt hat das der Server NTLM unterstützt. Das heisst bei jedem Post wird die Authentication mit dem Domain Server geprüft. Erstaunlicherweise verlangsamt dieser Vorgang den Post Request fast gar nicht. [...]