EJB 3.0/Servlets: Zugangsschutz über Session oder Annotations?

cocoon

Erfahrenes Mitglied
Wir entwickeln grad im Rahmen einer Vorlesung eine kleine Anwendung basierend auf EJB3.0, JBoss und Servlets (oder JSP alternativ). Das ganze dient nur der Übung, muss also nicht produktionsreif sein, nichts desto trotz aber ernsthaft.

Bislang habe ich Java-Servlet Anwendungen immer über so geschützt, dass nach erfolgreichem Login eine Session-Property geschrieben wurde, die in jedem Servlet ausgewertet wurde und je nach Wert (logged_in true sowie Benutzer Rolle) Zugang zum Servlet gewährt hat oder auf eine Fehlerseite umgeleitet hat.

Nun existieren laut unseren Vorlesungsunterlagen EJB Annotations wie @PermitAll, @DenyAll, @RolesAllowed(Role), @RunAs(Role) usw. die Zugangsrechte regeln sollen. Handelt es sich dabei um den gleichen Zweck und sollte ich damit lieber diese Annotationen verwenden, oder schmeisse ich was durcheinander?

Ferner die Frage, ob ich explizit in die Session schreiben muss, oder ob es möglich ist, ein EJB "User" über alle Servlets hinwegzuschleppen, indem immer der aktuelle Benutzer gespeichert ist?
 
Ich weiß nicht genau ich da richtig liege, aber wenn es EJB-Annotationen sind, dann soltle es eine EJB-Komponente geben die einen Login steuert. Wenn du diese Komponente benutzt kannst du, denke ich auch die Annotationen nutzen.
 
Zurück