Beispiel: Security-Basicsn


Beispiel für eine Session Bean, auf die per Application Client zugegriffen wird. Für bestimmte Methoden existieren Sicherheitseinschränkungen.

Aufbau des Beispieles


a) Stateless Session Bean mit drei Methoden, die nur dazu dienen, mit unterschiedlichen Zugriffsrechten versehen zu werden.
b) Application Client


Deploy der Stateless Session Bean

Schritt 1: Einstellungen siehe Screenshot. Die Bean enthält keine Home- oder Remote-Interfaces, d.h. es wird nur die Beanklasse selbst gewählt.

Nachbearbeitung:
Auf der Registerkarte "Security" müssen zuerst einmal die von der Bean benötigten Rollen definiert werden. Dazu auf den Button "Edit Roles..." in der Groupbox "Role Names referenced in code" klicken.
Bean (Nachbearbeitung, Schritt 1)
Jetzt kann man die aus dem Code heraus referenzierten Rollen definieren (werden in Bean benutzt, um zu prüfen ob der User in einer bestimmten Rolle ist): Dazu in der Groupbox "Role Names referenced in code" zwei neue Namen hinzufügen, in der zweiten Spalte kann man die bei "Edit Roles" angegebenen Rollen auswählen. Bean (Nachbearbeitung, Schritt 2)
Im letzten Schritt wird festgelegt, welche Rollen welche Methoden aufrufen dürfen (siehe Screenshot).
Bean (Nachbearbeitung, Schritt 3)

Deploy des Application Clients

Schritt 1: Hinzufügen eines neuen Application Clients.
Application Client (Step 1)
Schritt 2: Main Class wählen.

Nachbearbeitung:
Eine EJB-Referenz auf die Bean anlegen:
Application Client (Nachbearbeitung 1)



Konfigurieren der Security im Server

Die Benutzer für dieses Beispiel müssen auf dem Server konfiguriert werden.

Schritte:
1. Auf den Server verbinden: http://localhost:4848/asadmin
2. Im linken Baum wählt man "Security/Realms".
3. Auf "file" klicken, im rechten Fenster "Manage Users" wählen.
4. Folgende User hinzufügen:
a) "user1" mit Passwort "user1" und einer GroupList von "role1".
b) "user2" mit Passwort "user2" und einer GroupList von "role2".
b) "user3" mit Passwort "user3" und einer GroupList von "role1,role2".
b) "user4" mit Passwort "user4" und einer leeren GroupList.
Security Config

Zuordnen der Rollen auf dem Server zu Rollen der Anwendung:
Das Mappen von Usern auf Rollen geschieht im Deployment-Tool in der Application-Ebene, Registerkarte "General", dort "Sun-specific settings", Combobox-Eintrag "User to Role Mappings". In der Listbox "Roles" sind die oben festgelegten Rollen zu sehen. Wir klicken eine an und können dann in den beiden Listen "Users" / "Groups" User oder ganze Gruppen in die einzelnen Rollen stecken.
Hier nur:
-"role1" des Servers kommt in "Role1" der Anwendung.
-"role2" des Servers kommt in "Role2" der Anwendung.

Hinweis: Der Button "Unrestricted" ist auch für den Standard-Admin aufrufbar. Security Config im Deploytool



Das Ergebnis der Anwendung sollte sein:
-"user1" darf auf die Buttons "Role1" und "Unrestricted" klicken.
-"user2" darf auf die Buttons "Role2" und "Unrestricted" klicken.
-"user3" darf auf alle drei Buttons klicken.
-"user4" darf auf nur auf "Unrestricted" klicken (obwohl er in keiner Rolle steckt).