Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
im request-Objekt gibt es die Methode isUserInRole(...). Gibt es auch ne Möglichkeit, an die Rollen eines Benutzers heranzukommen, um eine entsprechende Überprüfung von eigenen Klassen vornehmen zu lassen?
Ersatzweise wäre auch die Frage, ob man an alle definierten Rollen in der Applikation herankommt. Ich benötige einfach nur eine Reihe von Rollen, die es geben kann, die aber vor Ort und Stelle erstmal nicht bekannt sind.
Die Zuweisung der Rollen zu Benutzern/-gruppen findet bei J2EE im Web Deployment Deskriptor statt. Darum geht es aber gar nicht. Ich suche nur die Überbrückung von J2EE mit einem eigenen Mini-Framework. Beide benötigen jeweils den Namen einer Gruppe zur Überprüfung, d.h. ich muss einerseits fragen, ob lt. J2EE ein bestimmter Benutzer einer Rolle zugeordnet ist, andererseits muss ich auch bei der Ressource aus meinem Framework nachfragen, ob eine bestimmte Rolle berechtigt ist.
In beiden muss also die Rolle definiert sein, ohne dass ich genau weiß, welche Rollen das später sein werden.
(später=Assembler-/Deployer-Zeit)
Das klingt, als wäre das allgemein gültig. Zeig mal den relevanten Teil deines deployment descriptors, damit wir wirklich vom selben sprechen. (auch wenns mit dem eigentlichen Problem anscheinend nichts zu tun hat)
Wenn die Rollen im web.xml definiert sind, dann sollte das schon mit dem Programmcode zusammenpassen. Deinem Code (Miniframework) zur Laufzeit für eine bestimmte Funktion eine Berechtigung (Rolle) setzen, die selbst zur Laufzeit definiert wird klingt sehr abenteuerlich.
Weiterhin muss im Lotus Notes Content erzeugt werden, der auf der Webseite angezeigt wird, insofern ein Benutzer eine bestimmte oben definierte Rolle hat. Welche Rolle er haben muss, um Zugriff auf den Content zu haben, soll in der Notes-DB festgelegt werden (pro Dokument).
Somit habe ich als Programmierer keinerlei Kenntnisse über ein Rollenkonzept, vielmehr muss ich die Konzepte von Assembler und Notes-Content-Pfleger miteinander "vergleichen".
Das ist der Teil, den ich nicht mache.
Du definierst keine Benutzer in deiner web.xml, da legst du im Moment nur fest, welche Rollen es gibt und was diese dürfen.
Was dir fehlt, ist das mapping zwischen dem was die Webanwendung an Rollen erwartet und welche Rollen dazu von extern gelinkt werden, sieh dir doch mal das role-link element an.
Das Domino Directory wird doch dann über LDAP angesprochen oder benutzt ihr Websphere? Auf jeden Fall kannst du die benötigten Info über LDAP abfragen.
Also die Anwendung läuft am Ende auf dem Websphere Application Server, die Daten für die Webseiten werden vom Domino ausgelesen, aber über die Java-API, nicht über die Web-Ports des Domino-Servers.
Die Benutzer stehen wiederrum in einem externen LDAP, mit dem Domino nichts zu tun hat. Der Websphere übernimmt die Form Authentication.
Mit sämtlichem Javacode möchte ich J2EE-konform bleiben, d.h. es sollen keine herstellerspezifischen Klassen verwendet werden, die auf einem anderen Server dann nicht vorliegen.
P.S.: Sorry für das Laien-Kauderwelsch. Bin nicht 100%ig sicher in der Materie.
Nein nein, die Rollen (und - was oben nicht erkenntlich ist - die Zuordnung zu einzelnen oder allen authentifizierten Benutzern) stehen im EAR Deployment Deskriptor.
Im LDAP stehen nur Benutzeraccounts (und die vollkommen irrelevanten) Benutzergruppen. Beim Einloggen prüft der Application Server, ob dieser Account samt Passwort existiert. Danach habe ich im Request die Methoden getUserPrincipal() und isUserInRole(role) zur Verfügung. Aber hierfür brauch ich eben erstmal die möglichen Rollen.
Jetzt sind wir wieder da, wo wir schon mal waren.
Wie und warum werden die Rollenzuordnungen im EAR-deployment descriptor gemacht? Bitte zeigen.
Was, wenn ein neuer Benutzer angelegt wird? Wird dann wirklich neu deployed???
Wenn ein Benutzer angelegt wird, dann wird der EAR-Deployment Descriptor modifiziert (dem Benutzer werden die Rollen zugeordnet) und die Anwendung neu gestartet. Das ist alles.
Wenn ein Benutzer angelegt wird, dann wird der EAR-Deployment Descriptor modifiziert (dem Benutzer werden die Rollen zugeordnet) und die Anwendung neu gestartet. Das ist alles.