2009-06-05 3 views
0

Ich versuche Single Sign-On mit JETTY zu unterstützen und wir haben 2 Subdomains, die Webserver ausführen, die Single Sign-On bis Jetty's SSO support unterstützen.Unterstützende Single Sign-On ändernde Domäne der JSESSIONID Session-Cookie-Domain auf Jetty

account.test.com app.test.com

Wir haben einen SSOSession Cookie, der gesetzt ist * .test.com, aber Abmelde ich, dass mein Jetty Server am Laufen sicherstellen müssen, unterstützen app.test.com hat es JSESSIONID Cookie zurückgesetzt.

Ich verwende derzeit den FormAuthenticator Jetty JAAS und überschreibe SSORealm, um die Validierung des SSOSession-Cookies zu unterstützen, wenn der FormAuthenticator aufgerufen wird.

ich in der Lage sein wollen, die account.test.com haben können Benutzer in dort zu unterschreiben, die es bewirkt, dass die JSESSIONID Cookie auf app.test.com verwendet wird ungültig zu machen.

Eine Lösung, die ich, dass wahrscheinlich mehr richtig wäre tun können, ist eine Änderung in Teh SSOSession Cookie zu erkennen und die JSESSIONID auf meinem Server ungültig.

Antwort

0

Ich weiß nichts über Jetty oder wie JSESSIONIDs funktionieren, aber es klingt, als ob Sie die Gültigkeit von JSESSIONID mit einem bestimmten SSOSession-Cookie verknüpfen möchten.

Eine Möglichkeit - beim Erstellen einer neuen Sitzung auf app.test.com, abgesehen von neuen JSESSIONID, setzen Sie ein neues Cookie sagen SSOSig = MD5 (JSESSIONID + SSOSessionCookie + geheim) in der Domain app.test.com.

Wenn Benutzer interagiert mit app.test.com, wird der Server JSESSIONID, SSOSig und SSOSessionID erhalten. Wenn SSOSessionID in auf account.test.com wegen Vorzeichen geändert, dann werden Sie JSESSIONID, SSOSig und SSOSessionID‘erhalten. Jetzt ist Ihr Versuch SSOSig zu überprüfen, wird seit MD5 (JSESSIONID + SSOSessioID‘+ Geheimnis) scheitern! = SSOSig und an dieser Stelle können Sie JSESSIONID ungültig machen.

Verwandte Themen