MartinLeim
Grünschnabel
Ich bin mir jetzt nicht ganz sicher, ob das hier das richtige Forum ist, da es mehr um die Tomcat-Administration denn um die Java-Programmierung geht. Wenn der Thread später hier also nicht mehr ist, wird er wol woanders sein 
Folgendes Problem: Ich möchte eine bestimmte Webressource mit einer eigenen JAAS-Authentifizierung schützen, die "Standard-Tools" wie Admin und Manager aber so lassen, d.h. die Authentifikation aus der tomcat-users.xml.
Dazu müsste ich eigentlich nur die MemoryRealm (also die mit der Datei) als Realm für den Standard-Kontext setzen und für meine eigene Ressource einen eigenen Kontext. Leider ist das nur die Theorie, praktisch klappt das nicht :-\
So sieht meine server.xml ausschnittsweise aus:
Laut Tomcat-Doku sollte mit leerem path-Attribut der Standard-Kontext angelegt werden, der verwendet wird, wenn sonst nichts festgelegt ist.
Leider bekomm ich nun bei einer Authentifikation z.B. beim Manager die Fehlermeldung, dass keine Login-Module (JAAS) festgelegt sind. Das ist seltsam, da Tomcat ja gar kein JAAS, sondern MemoryRealm verwenden soll!
Wenn ich einen der Realms nicht in ein Context-Element verschachtele, dann kann zwar die Anmeldung vonstatten gehen, allerdings kann ich dann nicht mehr verschiedene Realms verwenden
Weiß da einer Rat?

Folgendes Problem: Ich möchte eine bestimmte Webressource mit einer eigenen JAAS-Authentifizierung schützen, die "Standard-Tools" wie Admin und Manager aber so lassen, d.h. die Authentifikation aus der tomcat-users.xml.
Dazu müsste ich eigentlich nur die MemoryRealm (also die mit der Datei) als Realm für den Standard-Kontext setzen und für meine eigene Ressource einen eigenen Kontext. Leider ist das nur die Theorie, praktisch klappt das nicht :-\
So sieht meine server.xml ausschnittsweise aus:
Code:
<Context path="">
<Realm className="org.apache.catalina.realm.MemoryRealm" />
</Context>
<Context path="/jaas-examples">
<Realm className="org.apache.catalina.realm.JAASRealm" debug="3"
appName="TestApplication" userClassNames="UserPrincipal"
roleClassNames="RolePrincipal" />
</Context>
Laut Tomcat-Doku sollte mit leerem path-Attribut der Standard-Kontext angelegt werden, der verwendet wird, wenn sonst nichts festgelegt ist.
Leider bekomm ich nun bei einer Authentifikation z.B. beim Manager die Fehlermeldung, dass keine Login-Module (JAAS) festgelegt sind. Das ist seltsam, da Tomcat ja gar kein JAAS, sondern MemoryRealm verwenden soll!
Wenn ich einen der Realms nicht in ein Context-Element verschachtele, dann kann zwar die Anmeldung vonstatten gehen, allerdings kann ich dann nicht mehr verschiedene Realms verwenden

Weiß da einer Rat?