laqu
I'm new here

Personalisierung mit Kerberos & Loadbalancer

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

0 Kudos
2 Replies
isenberg
I'm new here

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

0 Kudos