Search the FirstSpirit Knowledge Base
Hallo,
wir haben das Modul DynamicPersonalization im Einsatz und wollen einen Login mit Kerberos durchführen.
Das Ganze funktioniert auch wunderbar, wenn wir den Request direkt auf den Tomcat absetzen.
Das ganze soll jetzt aber über einen über mod_proxy_ajp angebundenen Apache2 stattfinden. Die jaas.conf ist entsprechend auf den passenenden principal umgestellt.
Der erste Request scheint auch korrekt durchzugehen, der folgende Request wird dann für den Handshake abgesetzt:
GET /test/login/auth_test.de.jsp HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*
Accept-Language: de-DE
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: myhost.mydomain.de
Cookie: JSESSIONID=9AEF2F91A9126F36050F2FBEC73CE25D.node1
Authorization: Negotiate YIIGjQYGK ...
Die Response ist aber leider nicht mehr korrekt, das scheinbar der Autentication String verloren geht:
HTTP/1.1 401 Unauthorized
Date: Mon, 25 Nov 2013 16:26:04 GMT
WWW-Authenticate: Negotiate (Hier steht im Request an den Tomcat direkt der Autentication String drin: YIIGjQYGK ... )
Content-Type: text/html;charset=utf-8
Vary: Accept-Encoding
Content-Length: 954
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Content-Language: de
Proxy-Support: Session-Based-Authentication
Scheinbar wird der Header nicht korrekt weitergeleitet.
Hat jemand das Personalisierungsmodul schon in einem ähnlichen Umfeld laufen und kann mir für die Konfiguration des Apachen einen Tip geben?
Danke und Gruß
Lars
Hallo Lars,
konnte der Browser denn ein Kerberos-Ticket für den SPN, also die URL des FirstSpirit-Servers, erfolgreich anfordern? Das kann auf Client-Seite über "klist", auch unter Windows im cmd.exe, überprüft werden.
Falls ja, trennt der Loadbalancer oder Tomcat möglicherweise den Rest des Tickets ab, weil es länger als die konfigurierte maximale HTTP-Request-Länge ist. Also im AJP-Connector des Tomcat Parameter packetSize="65536" eintragen und im Apache httpd "LimitRequestLine 65536".
Siehe auch FirstSpirit Adminhandbuch Kapitel 4.3.4.5 "Kerberos-Ticket (Integrierte Windows-Anmeldung)".
Außerdem, um das Problem auf Tomcat-Seite genauer zu analysieren:
Im jaas.conf den Debug modus testweise einschalten und im catalina.out die Debug-Meldungen des Java-Kerberos lesen sowie in log4j.properties den Loglevel auf DEBUG im Tomcat stellen um in firstspirit.log weitere Meldungen zu sehen.
Hallo Lars,
benötigst Du noch weitere Hilfe oder hat Dir Holgers Antwort bereits geholfen?
In diesem Fall wäre es super, wenn Du seine "richtige Antwort" entsprechend markierst, damit auch andere
Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lösung
gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.
Viele Grüße
Michaela