djencks     2005/04/15 01:36:52

  Modified:    modules/core/src/java/org/openejb GenericEJBContainer.java
  Log:

  GERONIMO-632  Application-wide JACC GBean
  
  Revision  Changes    Path
  1.48      +4 -87     
openejb/modules/core/src/java/org/openejb/GenericEJBContainer.java
  
  Index: GenericEJBContainer.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/GenericEJBContainer.java,v
  retrieving revision 1.47
  retrieving revision 1.48
  diff -u -r1.47 -r1.48
  --- GenericEJBContainer.java  28 Mar 2005 22:55:55 -0000      1.47
  +++ GenericEJBContainer.java  15 Apr 2005 05:36:52 -0000      1.48
  @@ -47,14 +47,11 @@
    */
   package org.openejb;
   
  +import java.io.Serializable;
   import java.lang.reflect.Method;
   import java.rmi.RemoteException;
  -import java.security.PermissionCollection;
  -import java.security.Permissions;
   import java.util.Iterator;
   import java.util.Map;
  -import java.util.Set;
  -import java.io.Serializable;
   import javax.ejb.EJBHome;
   import javax.ejb.EJBLocalHome;
   import javax.ejb.EJBLocalObject;
  @@ -64,35 +61,27 @@
   import javax.management.ObjectName;
   import javax.naming.Context;
   import javax.security.auth.Subject;
  -import javax.security.jacc.PolicyConfiguration;
  -import javax.security.jacc.PolicyConfigurationFactory;
  -import javax.security.jacc.PolicyContextException;
   
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
  -
  -import org.apache.geronimo.common.GeronimoSecurityException;
   import org.apache.geronimo.core.service.Interceptor;
   import org.apache.geronimo.core.service.Invocation;
   import org.apache.geronimo.core.service.InvocationResult;
   import org.apache.geronimo.gbean.GBeanInfo;
   import org.apache.geronimo.gbean.GBeanInfoBuilder;
   import org.apache.geronimo.gbean.GBeanLifecycle;
  +import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
   import org.apache.geronimo.kernel.Kernel;
   import org.apache.geronimo.naming.java.SimpleReadOnlyContext;
   import org.apache.geronimo.naming.reference.ClassLoaderAwareReference;
   import org.apache.geronimo.naming.reference.KernelAwareReference;
   import org.apache.geronimo.security.ContextManager;
  -import org.apache.geronimo.security.util.ConfigurationUtil;
   import org.apache.geronimo.security.deploy.DefaultPrincipal;
  -import org.apache.geronimo.security.jacc.RoleMappingConfiguration;
  -import org.apache.geronimo.security.jacc.RoleMappingConfigurationFactory;
  +import org.apache.geronimo.security.util.ConfigurationUtil;
   import org.apache.geronimo.timer.ThreadPooledTimer;
   import org.apache.geronimo.transaction.TrackedConnectionAssociator;
   import org.apache.geronimo.transaction.context.TransactionContextManager;
   import org.apache.geronimo.transaction.context.UserTransactionImpl;
  -import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
  -
   import org.openejb.cache.InstancePool;
   import org.openejb.client.EJBObjectHandler;
   import org.openejb.client.EJBObjectProxy;
  @@ -100,7 +89,6 @@
   import org.openejb.dispatch.SystemMethodIndices;
   import org.openejb.proxy.EJBProxyFactory;
   import org.openejb.proxy.ProxyInfo;
  -import org.openejb.security.SecurityConfiguration;
   import org.openejb.timer.BasicTimerServiceImpl;
   
   
  @@ -123,8 +111,6 @@
       private final String[] jndiNames;
       private final String[] localJndiNames;
   
  -    private final SecurityConfiguration securityConfiguration;
  -    private PolicyConfiguration policyConfiguration;
       private final Subject defaultSubject;
       private final Subject runAsSubject;
       private final BasicTimerServiceImpl timerService;
  @@ -149,7 +135,6 @@
                                  ThreadPooledTimer timer,
                                  String objectName,
                                  Kernel kernel,
  -                               SecurityConfiguration securityConfiguration,
                                  DefaultPrincipal defaultPrincipal,
                                  Subject runAsSubject,
                                  Serializable homeTxPolicyConfig,
  @@ -224,7 +209,6 @@
               userTransaction.setUp(transactionContextManager, 
trackedConnectionAssociator);
           }
   
  -        this.securityConfiguration = securityConfiguration;
           if (defaultPrincipal != null) {
               this.defaultSubject = 
ConfigurationUtil.generateDefaultSubject(defaultPrincipal);
           } else {
  @@ -371,10 +355,6 @@
           return copy;
       }
   
  -    public SecurityConfiguration getSecurityConfiguration() {
  -        return securityConfiguration;
  -    }
  -
       public Timer getTimerById(Long id) {
           assert timerService != null;
           return timerService.getTimerById(id);
  @@ -402,54 +382,6 @@
           if (defaultSubject != null) 
ContextManager.registerSubject(defaultSubject);
           if (runAsSubject != null) 
ContextManager.registerSubject(runAsSubject);
   
  -        if (securityConfiguration != null) {
  -            /**
  -             * Get the JACC policy configuration that's associated with this
  -             * EJB container and configure it with the geronimo security
  -             * configuration.  The work for this is done by the class
  -             * JettyXMLConfiguration.
  -             */
  -            try {
  -                PolicyConfigurationFactory factory = 
PolicyConfigurationFactory.getPolicyConfigurationFactory();
  -
  -                policyConfiguration = 
factory.getPolicyConfiguration(securityConfiguration.getPolicyContextId(), 
true);
  -
  -                
policyConfiguration.addToExcludedPolicy(securityConfiguration.getExcludedPolicy());
  -                
policyConfiguration.addToUncheckedPolicy(securityConfiguration.getUncheckedPolicy());
  -                Iterator roles = 
securityConfiguration.getRolePolicies().keySet().iterator();
  -                while (roles.hasNext()) {
  -                    String role = (String) roles.next();
  -
  -                    policyConfiguration.addToRole(role, (Permissions) 
securityConfiguration.getRolePolicies().get(role));
  -                }
  -
  -                RoleMappingConfiguration roleMapper = 
RoleMappingConfigurationFactory.getRoleMappingFactory().getRoleMappingConfiguration(securityConfiguration.getPolicyContextId(),
 true);
  -                if (roleMapper != null) {
  -                    Iterator iter = 
securityConfiguration.getRoleMapping().keySet().iterator();
  -                    while (iter.hasNext()) {
  -                        String roleName = (String) iter.next();
  -                        Set principalSet = (Set) 
securityConfiguration.getRoleMapping().get(roleName);
  -                        roleMapper.addRoleMapping(roleName, principalSet);
  -                    }
  -                }
  -
  -                Map references = securityConfiguration.getRoleReferences();
  -                for (Iterator links = references.keySet().iterator(); 
links.hasNext();) {
  -                    String roleLink = (String) links.next();
  -
  -                    policyConfiguration.addToRole(roleLink, 
(PermissionCollection) references.get(roleLink));
  -                }
  -
  -                policyConfiguration.commit();
  -            } catch (ClassNotFoundException e) {
  -                // do nothing
  -            } catch (PolicyContextException e) {
  -                // do nothing
  -            } catch (GeronimoSecurityException e) {
  -                // do nothing
  -            }
  -            log.debug("Using JACC policy '" + 
securityConfiguration.getPolicyContextId() + "'");
  -        }
           log.info("GenericEJBContainer '" + containerId + "' started");
       }
   
  @@ -461,13 +393,6 @@
           if (defaultSubject != null) 
ContextManager.unregisterSubject(defaultSubject);
           if (runAsSubject != null) 
ContextManager.unregisterSubject(runAsSubject);
   
  -        if (this.securityConfiguration != null) {
  -            /**
  -             * Delete the policy configuration for this web application
  -             */
  -            if (policyConfiguration != null) policyConfiguration.delete();
  -
  -        }
           log.info("GenericEJBContainer '" + containerId + "' stopped");
       }
   
  @@ -479,12 +404,6 @@
               throw new RuntimeException(e);
           }
   
  -        try {
  -            if (policyConfiguration != null) policyConfiguration.delete();
  -        } catch (PolicyContextException e) {
  -            // do nothing
  -        }
  -
           log.info("GenericEJBContainer '" + containerId + "' failed");
       }
   
  @@ -517,7 +436,6 @@
           infoFactory.addAttribute("ejbLocalHome", EJBLocalHome.class, false);
           infoFactory.addAttribute("unmanagedReference", EJBContainer.class, 
false);
   
  -        infoFactory.addAttribute("SecurityConfiguration", 
SecurityConfiguration.class, true);
           infoFactory.addAttribute("DefaultPrincipal", DefaultPrincipal.class, 
true);
           infoFactory.addAttribute("RunAsSubject", Subject.class, true);
   
  @@ -552,7 +470,6 @@
               "Timer",
               "objectName",
               "kernel",
  -            "SecurityConfiguration",
               "DefaultPrincipal",
               "RunAsSubject",
               "HomeTxPolicyConfig",
  
  
  

Reply via email to