# Security JavaEE 6



## JavaEEDeveloper (27. Sep 2012)

Hallo,
wie füge ich einem User eine Rolle zur Laufzeit hinzu?
Und wie füge ich Rollen dem Container zur Laufzeit hinzu?


----------



## FArt (28. Sep 2012)

Wie wird denn die Authorisierung bei dir gelöst?


----------



## JavaEEDeveloper (28. Sep 2012)

Hi,
mittels einer Datenbankabfrage. Es wird der Passwort-Hash zum Usernamen geholt und geprüft.
Anschließend sollen die Rollen zum User geladen werden. Alle Rollen befinden sich in der Datenbank.


----------



## Andgalf (28. Sep 2012)

Welchen Container verwendest Du denn? Bei den gängigen Servern kann man die Datenbankabfrage einfach konfigurieren um den Rest kümmert sich der Container selbst.


----------



## FArt (28. Sep 2012)

JAAS oder selber gestrickt? Wenn selber gestrickt, dann kannst nur du wissen, was du machen musst.
Welcher Applikationsserver?


----------



## JavaEEDeveloper (28. Sep 2012)

Wie lässt sich JAAS einsetzen?
Ist JAAS in der Lage die Rollen automatisch aus der Datenbank zu Laden?
Oder Sollte ich hier Seam-Security verwenden?


----------



## FArt (28. Sep 2012)

JavaEEDeveloper hat gesagt.:


> Wie lässt sich JAAS einsetzen?


Siehe Doku des Applikationsservers deiner Wahl.



JavaEEDeveloper hat gesagt.:


> Ist JAAS in der Lage die Rollen automatisch aus der Datenbank zu Laden?


Das hängt von der Implementierung der Loginmodule ab. Es gibt schon viele von der Stange, aber auch ein eigenes ist schnell geklöppelt, besonders wenn die Logik und Datenstruktur schon besteht.



JavaEEDeveloper hat gesagt.:


> Oder Sollte ich hier Seam-Security verwenden?


Wäre eine Möglichkeit. Das ist ein Layer, der auf JAAS aufbaut. Könnte aber auch "oversized" sein, wenn du die Funktionalität (z.B. SingleSignOn, ...) gar nicht benötigst.


----------



## freez (28. Sep 2012)

JavaEEDeveloper hat gesagt.:


> Und wie füge ich Rollen dem Container zur Laufzeit hinzu?



Ist etwas komisch gefragt. Rollen sollten ja bereits in deiner Anwendung definiert sein, was sie dürfen. Also an was willst du genau schrauben? Ein Sicherheitskonzept, welches die Konfiguration aus der Datenbank zieht?



JavaEEDeveloper hat gesagt.:


> wie füge ich einem User eine Rolle zur Laufzeit hinzu?


Na dass ist ja mal einfach . Sinnvollerweise nutzt du eine Datenbank oder LDAP und fügst einen User hinzu und definierst welche Rolle er in deiner Anwendung erhält. Die Rolle muss dafür bereits in der Anwendung bekannt sein. Bei der nächste Anmeldung ist der User mit seiner Rolle in der Anwendung bekannt.


----------

