djencks     2005/03/28 17:55:55

  Modified:    modules/openejb-builder/src/java/org/openejb/deployment
                        AbstractContainerBuilder.java
                        ContainerSecurityBuilder.java
                        MDBContainerBuilder.java SecureBuilder.java
  Log:

  Add NamedUsernamePasswordCredential and supporting infrastructure to allow 
configuring security info for ws client calls
  
  Revision  Changes    Path
  1.10      +9 -8      
openejb/modules/openejb-builder/src/java/org/openejb/deployment/AbstractContainerBuilder.java
  
  Index: AbstractContainerBuilder.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/java/org/openejb/deployment/AbstractContainerBuilder.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- AbstractContainerBuilder.java     15 Mar 2005 05:32:41 -0000      1.9
  +++ AbstractContainerBuilder.java     28 Mar 2005 22:55:55 -0000      1.10
  @@ -61,6 +61,7 @@
   import org.apache.geronimo.transaction.TrackedConnectionAssociator;
   import org.apache.geronimo.transaction.context.TransactionContextManager;
   import org.apache.geronimo.transaction.context.UserTransactionImpl;
  +import org.apache.geronimo.security.deploy.DefaultPrincipal;
   import org.openejb.EJBContainer;
   import org.openejb.GenericEJBContainer;
   import org.openejb.InstanceContextFactory;
  @@ -95,7 +96,7 @@
       private String localInterfaceName;
       private String serviceEndpointName;
       private String primaryKeyClassName;
  -    private Subject defaultSubject;
  +    private DefaultPrincipal defaultPrincipal;
       private Subject runAs;
       private boolean doAsCurrentCaller = false;
       private boolean securityEnabled = false;
  @@ -199,12 +200,12 @@
           this.primaryKeyClassName = primaryKeyClassName;
       }
   
  -    public Subject getDefaultSubject() {
  -        return defaultSubject;
  +    public DefaultPrincipal getDefaultPrincipal() {
  +        return defaultPrincipal;
       }
   
  -    public void setDefaultSubject(Subject defaultSubject) {
  -        this.defaultSubject = defaultSubject;
  +    public void setDefaultPrincipal(DefaultPrincipal defaultPrincipal) {
  +        this.defaultPrincipal = defaultPrincipal;
       }
   
       public Subject getRunAs() {
  @@ -471,7 +472,7 @@
                   null, //objectname
                   null, //kernel
                   getSecurityConfiguration(),
  -                getDefaultSubject(),
  +                getDefaultPrincipal(),
                   runAs,
                   getHomeTxPolicyConfig(),
                   getRemoteTxPolicyConfig(),
  @@ -499,7 +500,7 @@
           gbean.setAttribute("LocalJndiNames", getLocalJndiNames());
           gbean.setReferencePattern("Timer", timerName);
           gbean.setAttribute("SecurityConfiguration", 
getSecurityConfiguration());
  -        gbean.setAttribute("DefaultSubject", getDefaultSubject());
  +        gbean.setAttribute("DefaultPrincipal", getDefaultPrincipal());
           gbean.setAttribute("RunAsSubject", getRunAs());
           gbean.setAttribute("HomeTxPolicyConfig", getHomeTxPolicyConfig());
           gbean.setAttribute("RemoteTxPolicyConfig", 
getRemoteTxPolicyConfig());
  
  
  
  1.13      +2 -31     
openejb/modules/openejb-builder/src/java/org/openejb/deployment/ContainerSecurityBuilder.java
  
  Index: ContainerSecurityBuilder.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/java/org/openejb/deployment/ContainerSecurityBuilder.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ContainerSecurityBuilder.java     14 Mar 2005 02:12:47 -0000      1.12
  +++ ContainerSecurityBuilder.java     28 Mar 2005 22:55:55 -0000      1.13
  @@ -62,15 +62,12 @@
   import javax.security.jacc.EJBRoleRefPermission;
   
   import org.apache.geronimo.common.DeploymentException;
  -import org.apache.geronimo.common.GeronimoSecurityException;
  -import org.apache.geronimo.security.PrimaryRealmPrincipal;
   import org.apache.geronimo.security.RealmPrincipal;
  -import org.apache.geronimo.security.deploy.DefaultPrincipal;
  +import org.apache.geronimo.security.deploy.DistinguishedName;
   import org.apache.geronimo.security.deploy.Principal;
   import org.apache.geronimo.security.deploy.Realm;
   import org.apache.geronimo.security.deploy.Role;
   import org.apache.geronimo.security.deploy.Security;
  -import org.apache.geronimo.security.deploy.DistinguishedName;
   import org.apache.geronimo.security.util.ConfigurationUtil;
   import org.apache.geronimo.xbeans.j2ee.AssemblyDescriptorType;
   import org.apache.geronimo.xbeans.j2ee.ExcludeListType;
  @@ -80,7 +77,6 @@
   import org.apache.geronimo.xbeans.j2ee.RoleNameType;
   import org.apache.geronimo.xbeans.j2ee.SecurityIdentityType;
   import org.apache.geronimo.xbeans.j2ee.SecurityRoleRefType;
  -
   import org.openejb.security.SecurityConfiguration;
   
   
  @@ -136,7 +132,7 @@
           /**
            * Add the default subject
            */
  -        builder.setDefaultSubject(generateDefaultSubject(security));
  +        builder.setDefaultPrincipal(security.getDefaultPrincipal());
   
           /**
            * JACC v1.0 section 3.1.5.1
  @@ -258,31 +254,6 @@
               Permission p = (Permission) e.nextElement();
               permissions.add(p);
           }
  -    }
  -
  -    /**
  -     * Generate the default principal from the security config.
  -     *
  -     * @param security The Geronimo security configuration.
  -     * @return the default principal
  -     */
  -    protected Subject generateDefaultSubject(Security security) throws 
GeronimoSecurityException {
  -        DefaultPrincipal defaultPrincipal = security.getDefaultPrincipal();
  -        Subject defaultSubject = new Subject();
  -
  -        RealmPrincipal realmPrincipal = 
ConfigurationUtil.generateRealmPrincipal(defaultPrincipal.getPrincipal(), 
defaultPrincipal.getRealmName());
  -        if (realmPrincipal == null) {
  -            throw new GeronimoSecurityException("Unable to create realm 
principal");
  -        }
  -        PrimaryRealmPrincipal primaryRealmPrincipal = 
ConfigurationUtil.generatePrimaryRealmPrincipal(defaultPrincipal.getPrincipal(),
 defaultPrincipal.getRealmName());
  -        if (primaryRealmPrincipal == null) {
  -            throw new GeronimoSecurityException("Unable to create primary 
realm principal");
  -        }
  -
  -        defaultSubject.getPrincipals().add(realmPrincipal);
  -        defaultSubject.getPrincipals().add(primaryRealmPrincipal);
  -
  -        return defaultSubject;
       }
   
       /**
  
  
  
  1.7       +4 -6      
openejb/modules/openejb-builder/src/java/org/openejb/deployment/MDBContainerBuilder.java
  
  Index: MDBContainerBuilder.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/java/org/openejb/deployment/MDBContainerBuilder.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- MDBContainerBuilder.java  15 Mar 2005 05:32:41 -0000      1.6
  +++ MDBContainerBuilder.java  28 Mar 2005 22:55:55 -0000      1.7
  @@ -48,7 +48,6 @@
   package org.openejb.deployment;
   
   import java.lang.reflect.Method;
  -import java.util.HashMap;
   import java.util.LinkedHashMap;
   import java.util.Map;
   import java.util.Set;
  @@ -59,6 +58,7 @@
   
   import org.apache.geronimo.gbean.GBeanData;
   import org.apache.geronimo.naming.deployment.ResourceEnvironmentBuilder;
  +import org.apache.geronimo.security.deploy.DefaultPrincipal;
   import org.apache.geronimo.transaction.context.UserTransactionImpl;
   import org.openejb.cache.InstancePool;
   import org.openejb.dispatch.EJBTimeoutOperation;
  @@ -74,8 +74,6 @@
   import org.openejb.security.SecurityConfiguration;
   import org.openejb.slsb.EJBCreateMethod;
   import org.openejb.slsb.RemoveMethod;
  -import org.openejb.transaction.ContainerPolicy;
  -import org.openejb.transaction.TransactionPolicy;
   import org.openejb.transaction.TransactionPolicySource;
   import org.openejb.transaction.TransactionPolicyType;
   import org.openejb.util.SoftLimitedInstancePool;
  @@ -147,11 +145,11 @@
           this.endpointInterfaceName = endpointInterfaceName;
       }
   
  -    public Subject getDefaultSubject() {
  +    public DefaultPrincipal getDefaultPrincipal() {
           return null;  // RETURN NOTHING
       }
   
  -    public void setDefaultSubject(Subject defaultSubject) {
  +    public void setDefaultPrincipal(DefaultPrincipal defaultPrincipal) {
           // DO NOTHING
       }
   
  
  
  
  1.2       +4 -3      
openejb/modules/openejb-builder/src/java/org/openejb/deployment/SecureBuilder.java
  
  Index: SecureBuilder.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/java/org/openejb/deployment/SecureBuilder.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SecureBuilder.java        10 Nov 2004 01:35:08 -0000      1.1
  +++ SecureBuilder.java        28 Mar 2005 22:55:55 -0000      1.2
  @@ -51,6 +51,7 @@
   import javax.security.auth.Subject;
   
   import org.apache.geronimo.naming.deployment.ResourceEnvironmentBuilder;
  +import org.apache.geronimo.security.deploy.DefaultPrincipal;
   import org.openejb.security.SecurityConfiguration;
   
   
  @@ -65,9 +66,9 @@
   
       void setContainerId(String containerId);
   
  -    Subject getDefaultSubject();
  +    DefaultPrincipal getDefaultPrincipal();
   
  -    void setDefaultSubject(Subject defaultSubject);
  +    void setDefaultPrincipal(DefaultPrincipal defaultSubject);
   
       Subject getRunAs();
   
  
  
  

Reply via email to