User: oconnor
Date: 00/10/14 08:33:25
Modified: src/main/org/jboss/ejb ContainerFactory.java
Log:
Gets authentication and role mapping from JNDI based on container configuration.
Revision Changes Path
1.48 +28 -7 jboss/src/main/org/jboss/ejb/ContainerFactory.java
Index: ContainerFactory.java
===================================================================
RCS file: /products/cvs/ejboss/jboss/src/main/org/jboss/ejb/ContainerFactory.java,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -r1.47 -r1.48
--- ContainerFactory.java 2000/10/03 00:13:32 1.47
+++ ContainerFactory.java 2000/10/14 15:33:25 1.48
@@ -76,7 +76,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Juha Lindfors</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Sebastien Alborini</a>
*
-* @version $Revision: 1.47 $
+* @version $Revision: 1.48 $
*/
public class ContainerFactory
extends org.jboss.util.ServiceMBeanSupport
@@ -440,15 +440,36 @@
// get the container configuration for this bean
// a default configuration is now always provided
ConfigurationMetaData conf = bean.getContainerConfiguration();
-
+
// Set transaction manager
container.setTransactionManager((TransactionManager)new
InitialContext().lookup("TransactionManager"));
-
- // Set security manager (should be chosen based on container
config)
- container.setSecurityManager((EJBSecurityManager)new
InitialContext().lookup("EJBSecurityManager"));
- // Set realm mapping (should be chosen based on container
config)
- container.setRealmMapping( (RealmMapping)new
InitialContext().lookup("SimpleRealmMapping"));
+ // Set security manager & role mapping manager
+ String securityManagerJNDIName = conf.getAuthenticationModule();
+ String roleMappingManagerJNDIName = conf.getRoleMappingManager();
+
+ if ((securityManagerJNDIName != null) &&
(roleMappingManagerJNDIName != null))
+ {
+ try
+ {
+ EJBSecurityManager ejbS = (EJBSecurityManager)new
InitialContext().lookup(securityManagerJNDIName);
+ container.setSecurityManager( ejbS );
+ }
+ catch (NamingException ne)
+ {
+ throw new DeploymentException( "Could not find the Security
Manager specified for this container", ne );
+ }
+
+ try
+ {
+ RealmMapping rM = (RealmMapping)new
InitialContext().lookup("SimpleRealmMapping");
+ container.setRealmMapping( rM );
+ }
+ catch (NamingException ne)
+ {
+ throw new DeploymentException( "Could not find the Role Mapping
Manager specified for this container", ne );
+ }
+ }
// Set container invoker
ContainerInvoker ci =
(ContainerInvoker)cl.loadClass(conf.getContainerInvoker()).newInstance();