File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes EJB and other Java EE Technologies and the fly likes Security and EJB Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "Security and EJB" Watch "Security and EJB" New topic

Security and EJB

Hari babu
Ranch Hand

Joined: Jun 25, 2001
Posts: 208
Hi All,
In my EJB I can specify the method execution permission for a particular role. Suppose i have a servlet client which access the EJB, and my servlet validates an user against my database specific to my application. When the user is authenticated, how will the Servlet know which role to assign the authenticated user? Is it the same role, i need to specify in my EJB deployment descriptor and how does it get propagated to the EJB layer ? So that the authenticated user will be able to execute the EJB method.
Please help
Dave Landers
Ranch Hand

Joined: Jul 24, 2002
Posts: 401
The best way to handle this is to let the appserver do it. Use J2EE security to get your user logged into the webapp. Then the credentials will automatically be passed to the ejb container.
If for some reason you have to do authentication/authorization yourself, then I think you have two choices.
You could use something specific to your appserver (or JAAS if its supported) to log your user in.
Or when you look up the EJB you will need to supply the credentials in the jndi properties passed to the InitialContext.
The Role really doesn't matter, as this is just a way to describe the permissions to the ejb container. You just need to make sure that the user that is logged into the webapp also has permission to run the ejb method (is in the proper ejb role).
I agree. Here's the link:
subject: Security and EJB
It's not a secret anymore!