ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
1086
1086
EMPFEHLEN
-
Hallo zusammen,
eine Frage zum Thema Dependency Injection, ich habe die Beans mit @RolesAllowed annotiert und verwende zur Zeit ein JNDI Lookup um im InitialContext Username und Passwort zu deklarieren. Wie kann ich dies umstellen um zukünftig per Dependency Injection (@EJB) auf die Stateless Beans zu zugreifen? Ist das überhaupt möglich oder muss ich beim klassischen Lookup bleiben?
Gruß
Jan
-
17.05.08 14:06 #2In theory, there is no difference between theory and practice. In practice, there is!
www.olivergierke.de
-
Hallo Ollie,
die Beans sehen wie folgt aus:
Code :1 2 3 4 5 6
@Stateless @SecurityDomain("DB") @RolesAllowed( { "User" }) public class XyzBean implements XyzLocal { }
Der InitialContext:
Code :1 2 3 4 5 6 7 8 9
public static InitialContext getInitialContextUser() throws NamingException { Properties env = new Properties(); env.setProperty(Context.SECURITY_PRINCIPAL, "User"); env.setProperty(Context.SECURITY_CREDENTIALS, "Pass"); env.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.security.jndi.JndiLoginInitialContextFactory"); return new InitialContext(env); }
Das Lookup:
Code :1 2
InitialContext ctx = LoginContext.getInitialContextUser(); XyzLocal xyzLocal = (XyzLocal) ctx.lookup("XyzLocal");
Ist es jetzt verständlicher?
Gruß
Jan
-
17.05.08 17:56 #4
Ih versteh halt nicht, warum du dem Context den User mitgeben musst. Die Annotation an die Klassen zu nageln bewrikt ja nur, dass du sie nicht an jede Methode schreiben musst. Die Security wird also ergo nur bei einem Methodenaufruf überprüft. Es wird nicht verhindert, dass man nicht an die Beaninstanz kommt, wenn man nicht die Rechte hat. Das würde dir ja das ganze Konzept der Zustandslosigkeit kaputt machen.
Von daher sollte ein @EJB auch tun. Aber wie so oft bei solchen Fragen die Gegenfrage: warum probierst du es nicht einfach aus?
REINHAUN!In theory, there is no difference between theory and practice. In practice, there is!
www.olivergierke.de
-
Alles klar, ich hab`s grad ausprobiert und es funktioniert.
Mir war der Zusammenhang der Security-Annotations nicht so ganz bewusst. Ich habe jetzt ein @RunAs in der Webservice-Bean um die Methoden einer anderen Beaninstanz die mit @RolesAllowed annotiert ist benutzen zu können.
Danke für den Hinweis.
Grüße
Ähnliche Themen
-
Dependency Injection Frameworks für .Net
Von Thomas Darimont im Forum .NET CaféAntworten: 0Letzter Beitrag: 18.01.10, 19:11 -
Beispiel zu Dependency Injection mit GWT & Springframework ME
Von Konstantin Denerz im Forum JavaAntworten: 0Letzter Beitrag: 21.04.09, 13:54 -
Spring Dependency Injection - XML oder Annotations?
Von DarthShader im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 5Letzter Beitrag: 22.09.08, 19:07 -
Dependency Injection liefert null
Von ma_ria im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 1Letzter Beitrag: 18.04.08, 11:04 -
Beispiel zu Microsofts Dependency Injection Framework Unity
Von Thomas Darimont im Forum .NET CaféAntworten: 0Letzter Beitrag: 27.02.08, 15:00





Zitieren
Login





