You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2004/03/10 20:21:17 UTC

cvs commit: incubator-geronimo/modules/security/src/java/org/apache/geronimo/security/realm/providers AbstractSecurityRealm.java

djencks     2004/03/10 11:21:17

  Modified:    modules/connector/src/java/org/apache/geronimo/connector/deployment
                        AbstractRARConfigBuilder.java
                        RAR_1_5ConfigBuilder.java
               modules/connector/src/java/org/apache/geronimo/connector/outbound/security
                        PasswordCredentialRealm.java
               modules/connector/src/schema geronimo-connector_1_5.xsd
               modules/connector/src/test/org/apache/geronimo/connector/deployment
                        RAR_1_5ConfigBuilderTest.java
               modules/connector/src/test-data/connector_1_5
                        geronimo-ra.xml
               modules/security/src/java/org/apache/geronimo/security/realm/providers
                        AbstractSecurityRealm.java
  Log:
  Deploy appropriate login module when requested
  
  Revision  Changes    Path
  1.9       +2 -2      incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/AbstractRARConfigBuilder.java
  
  Index: AbstractRARConfigBuilder.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/AbstractRARConfigBuilder.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- AbstractRARConfigBuilder.java	10 Mar 2004 09:58:31 -0000	1.8
  +++ AbstractRARConfigBuilder.java	10 Mar 2004 19:21:17 -0000	1.9
  @@ -67,7 +67,7 @@
       public final static String BASE_RESOURCE_ADAPTER_NAME = "geronimo.management:J2eeType=ResourceAdapter,name=";
       protected final static String BASE_CONNECTION_MANAGER_FACTORY_NAME = "geronimo.management:J2eeType=ConnectionManager,name=";
       protected static final String BASE_REALM_BRIDGE_NAME = "geronimo.security:service=RealmBridge,name=";
  -    private static final String BASE_PASSWORD_CREDENTIAL_LOGIN_MODULE_NAME = "geronimo.security:service=Realm,type=PasswordCredential,name=";
  +    protected static final String BASE_PASSWORD_CREDENTIAL_LOGIN_MODULE_NAME = "geronimo.security:service=Realm,type=PasswordCredential,name=";
   
       protected final Repository repository;
       protected final Kernel kernel;
  
  
  
  1.7       +9 -6      incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/RAR_1_5ConfigBuilder.java
  
  Index: RAR_1_5ConfigBuilder.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/RAR_1_5ConfigBuilder.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- RAR_1_5ConfigBuilder.java	10 Mar 2004 09:58:31 -0000	1.6
  +++ RAR_1_5ConfigBuilder.java	10 Mar 2004 19:21:17 -0000	1.7
  @@ -32,12 +32,15 @@
   import javax.management.MalformedObjectNameException;
   import javax.management.ObjectName;
   import javax.management.ReflectionException;
  +import javax.resource.spi.security.PasswordCredential;
   
   import org.apache.geronimo.common.propertyeditor.PropertyEditors;
   import org.apache.geronimo.connector.AdminObjectWrapper;
   import org.apache.geronimo.connector.ResourceAdapterWrapper;
   import org.apache.geronimo.connector.outbound.ConnectionManagerDeployment;
   import org.apache.geronimo.connector.outbound.ManagedConnectionFactoryWrapper;
  +import org.apache.geronimo.connector.outbound.security.PasswordCredentialLoginModule;
  +import org.apache.geronimo.connector.outbound.security.PasswordCredentialRealm;
   import org.apache.geronimo.deployment.DeploymentContext;
   import org.apache.geronimo.deployment.DeploymentException;
   import org.apache.geronimo.deployment.util.UnclosableInputStream;
  @@ -203,12 +206,12 @@
                           managedConnectionFactoryGBean.setReferencePatterns("ResourceAdapterWrapper", Collections.singleton(resourceAdapterObjectName));
                       }
                       managedConnectionFactoryGBean.setReferencePatterns("ConnectionManagerFactory", Collections.singleton(connectionManagerFactoryObjectName));
  -                    /*
  -                    //TODO also set up the login module
  -                    if (geronimoConnectionDefinition.getAuthentication().equals("BasicUserPassword")) {
  -                        managedConnectionFactoryGBean.setReferencePatterns("ManagedConnectionFactoryListener", Collections.singleton(ObjectName.getInstance(BASE_PASSWORD_CREDENTIAL_LOGIN_MODULE_NAME + geronimoConnectionDefinition.getName())));
  +                    if (connectionfactoryInstance.getCredentialInterface() != null && PasswordCredential.class.getName().equals(connectionfactoryInstance.getCredentialInterface().getStringValue())) {
  +                        GBeanMBean realmGBean = new GBeanMBean(PasswordCredentialRealm.class.getName());
  +                        realmGBean.setAttribute("RealmName", BASE_PASSWORD_CREDENTIAL_LOGIN_MODULE_NAME + connectionfactoryInstance.getName());
  +                        context.addGBean(ObjectName.getInstance(BASE_PASSWORD_CREDENTIAL_LOGIN_MODULE_NAME + connectionfactoryInstance.getName()), realmGBean);
  +                        managedConnectionFactoryGBean.setReferencePatterns("ManagedConnectionFactoryListener", Collections.singleton(ObjectName.getInstance(BASE_PASSWORD_CREDENTIAL_LOGIN_MODULE_NAME + connectionfactoryInstance.getName())));
                       }
  -                    */
                       managedConnectionFactoryGBean.setReferencePatterns("Kernel", Collections.singleton(Kernel.KERNEL));
                       managedConnectionFactoryGBean.setAttribute("SelfName", managedConnectionFactoryObjectName);
                   } catch (Exception e) {
  
  
  
  1.6       +6 -1      incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/outbound/security/PasswordCredentialRealm.java
  
  Index: PasswordCredentialRealm.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/outbound/security/PasswordCredentialRealm.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- PasswordCredentialRealm.java	10 Mar 2004 09:58:33 -0000	1.5
  +++ PasswordCredentialRealm.java	10 Mar 2004 19:21:17 -0000	1.6
  @@ -44,6 +44,10 @@
   
       static final String REALM_INSTANCE = "org.apache.connector.outbound.security.PasswordCredentialRealm";
   
  +    public PasswordCredentialRealm(String realmName) {
  +        super(realmName);
  +    }
  +
       public Set getGroupPrincipals() throws GeronimoSecurityException {
           return null;
       }
  @@ -89,6 +93,7 @@
   
       static {
           GBeanInfoFactory infoFactory = new GBeanInfoFactory(PasswordCredentialRealm.class.getName(), AbstractSecurityRealm.getGBeanInfo());
  +        infoFactory.addInterface(ManagedConnectionFactoryListener.class);
           GBEAN_INFO = infoFactory.getBeanInfo();
       }
   
  
  
  
  1.10      +8 -5      incubator-geronimo/modules/connector/src/schema/geronimo-connector_1_5.xsd
  
  Index: geronimo-connector_1_5.xsd
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/connector/src/schema/geronimo-connector_1_5.xsd,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- geronimo-connector_1_5.xsd	10 Mar 2004 09:58:33 -0000	1.9
  +++ geronimo-connector_1_5.xsd	10 Mar 2004 19:21:17 -0000	1.10
  @@ -228,6 +228,9 @@
               <xsd:element name="global-jndi-name"
                   type="xsd:string"
                   minOccurs="0"/>
  +            <xsd:element name="credential-interface"
  +                type="ger:credential-interfaceType"
  +                minOccurs="0"/>
   
           </xsd:sequence>
       </xsd:complexType>
  @@ -284,11 +287,11 @@
       </xsd:complexType>
   
       <xsd:simpleType name="versionType">
  -      <xsd:restriction base="xsd:string">
  -        <xsd:whiteSpace value="collapse"/>
  -          <xsd:enumeration value="1.0"/>
  -          <xsd:enumeration value="1.5"/>
  -      </xsd:restriction>
  +        <xsd:restriction base="xsd:string">
  +            <xsd:whiteSpace value="collapse"/>
  +            <xsd:enumeration value="1.0"/>
  +            <xsd:enumeration value="1.5"/>
  +        </xsd:restriction>
       </xsd:simpleType>
       <!-- **************************************************** -->
   
  
  
  
  1.6       +2 -2      incubator-geronimo/modules/connector/src/test/org/apache/geronimo/connector/deployment/RAR_1_5ConfigBuilderTest.java
  
  Index: RAR_1_5ConfigBuilderTest.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/connector/src/test/org/apache/geronimo/connector/deployment/RAR_1_5ConfigBuilderTest.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- RAR_1_5ConfigBuilderTest.java	10 Mar 2004 09:58:33 -0000	1.5
  +++ RAR_1_5ConfigBuilderTest.java	10 Mar 2004 19:21:17 -0000	1.6
  @@ -100,7 +100,7 @@
           } finally {
               kernel.shutdown();
           }
  -        assertEquals(9, gbeans.size());
  +        assertEquals(10, gbeans.size());
           //we could check what the gbeans are...
       }
   
  
  
  
  1.11      +1 -0      incubator-geronimo/modules/connector/src/test-data/connector_1_5/geronimo-ra.xml
  
  Index: geronimo-ra.xml
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/connector/src/test-data/connector_1_5/geronimo-ra.xml,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- geronimo-ra.xml	10 Mar 2004 09:58:34 -0000	1.10
  +++ geronimo-ra.xml	10 Mar 2004 19:21:17 -0000	1.11
  @@ -41,6 +41,7 @@
                           <useSubject>true</useSubject>
                       </connectionmanager>
                       <global-jndi-name>connectionfactories/testcf</global-jndi-name>
  +                    <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
                   </connectiondefinition-instance>
                   <connectiondefinition-instance>
                       <name>SecondTestOutboundConnectionFactory</name>
  
  
  
  1.5       +2 -2      incubator-geronimo/modules/security/src/java/org/apache/geronimo/security/realm/providers/AbstractSecurityRealm.java
  
  Index: AbstractSecurityRealm.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/security/src/java/org/apache/geronimo/security/realm/providers/AbstractSecurityRealm.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- AbstractSecurityRealm.java	10 Mar 2004 09:59:26 -0000	1.4
  +++ AbstractSecurityRealm.java	10 Mar 2004 19:21:17 -0000	1.5
  @@ -86,7 +86,7 @@
           infoFactory.addOperation(new GOperationInfo("getUserPrincipals", new String[]{RE.class.getName()}));
           infoFactory.addOperation(new GOperationInfo("refresh"));
           infoFactory.addOperation(new GOperationInfo("getAppConfigurationEntry"));
  -        infoFactory.setConstructor(new GConstructorInfo(new String[]{"realmName"}, new Class[]{String.class}));
  +        infoFactory.setConstructor(new GConstructorInfo(new String[]{"RealmName"}, new Class[]{String.class}));
           GBEAN_INFO = infoFactory.getBeanInfo();
       }