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();
  
  
  

Reply via email to