PrincipalImplementation taucht nicht in Session auf

pemo

Grünschnabel
Ich hab ein eigenes LoginModul geschrieben, das mir nach erfolgreicher Authentifizierung einen "MyPrincipal" zurueckliefert, das mir einige getters anbietet, auf die ich nach dem Login gerne zugreifen moechte. Funktioniert auch alles wenn ich das Loginmodul ueber eine Application laufen lasse. Binde ich es jedoch in Tomcat ueber einen JAASRealm ein, dann wird das Login auch toll aufgerufen und all mein Code ausgefuehrt. Jedoch in meinem TestServlet (das mit dem Login geschuetzt wurde) bekomme ich mit der Anweisung request.getUserPrincipal(); nur einen org.apache.catalina.realm.GenericPrincipal zurueck, der zwar mit den richtigen Daten befuellt ist, aber eben nicht alles bringt. Ich haette ja gerne MyPrincipal. Aber auch ein Cast nutzt nicht, da gibt es dann eine Exception in der Seite. Hat jemand vielleicht eine Idee wie auf meinen Principal im Servlet zugreifen kann.
Was ich mich noch frage ist, wie ich das Subject, das ich im LoginModule in der commit-Methode so toll setze und mit Principal befuelle, in die Session bekommen kann. Den wenn ich im Servlet das Subject abfrage, bekomme ich null zurueck.
Vielleicht hat jemand einige Gedanken dazu!
 
Hallo!

In den Docs zu Tomcat 5.5: http://tomcat.apache.org/tomcat-5.5-doc/realm-howto.html#JAASRealm
steht ganz unten bei JAASRealm dass man dort dort auch eigene PrincipalImplementierungen angeben kann (zumindest laesst du Konfigurationsmoeglichkeit diese Vermutung zu).

Zu diesem Thema findet man auch viel in den Tomcat spezifischen Mailing Listen:
http://marc.theaimsgroup.com/?l=tomcat-user&w=2&r=1&s=custom+principal&q=b
http://marc.theaimsgroup.com/?l=tomcat-user&w=2&r=1&s=Principal+Implementation&q=b

Zur Verwendung von JAAS allgemein in Tomcat siehe auch hier:
Schau mal hier:
http://www.kopz.org/public/documents/tomcat/jaasintomcat.html

Gruss Tom
 

Neue Beiträge

Zurück