User: oconnor 
  Date: 00/08/06 14:36:02

  Modified:    src/main/org/jboss/ejb/plugins/jrmp/interfaces
                        ContainerRemote.java EntityProxy.java
                        GenericProxy.java HomeProxy.java
                        RemoteMethodInvocation.java
                        StatefulSessionProxy.java
                        StatelessSessionProxy.java
  Log:
  Changes to introduce a skeleton security system.
  
  Revision  Changes    Path
  1.5       +5 -3      
jboss/src/main/org/jboss/ejb/plugins/jrmp/interfaces/ContainerRemote.java
  
  Index: ContainerRemote.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/jrmp/interfaces/ContainerRemote.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ContainerRemote.java      2000/06/16 13:10:25     1.4
  +++ ContainerRemote.java      2000/08/06 21:36:01     1.5
  @@ -18,7 +18,7 @@
    *      
    *   @see <related>
    *   @author Rickard �berg ([EMAIL PROTECTED])
  - *   @version $Revision: 1.4 $
  + *   @version $Revision: 1.5 $
    */
   public interface ContainerRemote
      extends Remote
  @@ -37,10 +37,12 @@
      public Object invoke(MarshalledObject mi)
         throws Exception;
   
  -   public Object invokeHome(Method m, Object[] args, Transaction tx, Principal 
identity)
  +   public Object invokeHome(Method m, Object[] args, Transaction tx,
  +    Principal identity, Object credential )
         throws Exception;
   
  -   public Object invoke(Object id, Method m, Object[] args, Transaction tx, 
Principal identity)
  +   public Object invoke(Object id, Method m, Object[] args, Transaction tx,
  +    Principal identity, Object credential )
         throws Exception;
      // Package protected ---------------------------------------------
       
  
  
  
  1.11      +4 -2      
jboss/src/main/org/jboss/ejb/plugins/jrmp/interfaces/EntityProxy.java
  
  Index: EntityProxy.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/jrmp/interfaces/EntityProxy.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- EntityProxy.java  2000/06/21 11:51:33     1.10
  +++ EntityProxy.java  2000/08/06 21:36:01     1.11
  @@ -19,7 +19,7 @@
    *      
    *      @see <related>
    *      @author Rickard �berg ([EMAIL PROTECTED])
  - *      @version $Revision: 1.10 $
  + *      @version $Revision: 1.11 $
    */
   public class EntityProxy
      extends GenericProxy
  @@ -108,12 +108,14 @@
              {
                 return container.invoke(id, m, args, 
                                                                                       
         tm != null ? tm.getTransaction() : null,
  -                                                                                    
         null);
  +                                                                                    
         getPrincipal(), getCredential());
              } else
              {
                 RemoteMethodInvocation rmi = new RemoteMethodInvocation(id, m, args);
                 if (tm != null)
                    rmi.setTransaction(tm.getTransaction());
  +           rmi.setPrincipal( getPrincipal() );
  +           rmi.setCredential( getCredential() );
                 return container.invoke(new MarshalledObject(rmi));
              }
         }
  
  
  
  1.6       +17 -4     
jboss/src/main/org/jboss/ejb/plugins/jrmp/interfaces/GenericProxy.java
  
  Index: GenericProxy.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/jrmp/interfaces/GenericProxy.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- GenericProxy.java 2000/07/27 22:34:08     1.5
  +++ GenericProxy.java 2000/08/06 21:36:01     1.6
  @@ -7,6 +7,7 @@
   package org.jboss.ejb.plugins.jrmp.interfaces;
   
   import java.io.IOException;
  +import java.security.Principal;
   
   import javax.transaction.TransactionManager;
   
  @@ -15,13 +16,15 @@
   import org.jboss.tm.TxManager;
   
   import java.util.HashMap;
  +import org.jboss.system.SecurityAssociation;
   
  +
   /**
    *      <description> 
    *      
    *      @see <related>
    *      @author Rickard �berg ([EMAIL PROTECTED])
  - *      @version $Revision: 1.5 $
  + *      @version $Revision: 1.6 $
    */
   public class GenericProxy
      implements java.io.Serializable
  @@ -37,17 +40,27 @@
      
      // Static --------------------------------------------------------
      static TransactionManager tm;
  -     
  +
      static HashMap invokers = new HashMap(); // Prevent DGC
      public static ContainerRemote getLocal(String jndiName) { return 
(ContainerRemote)invokers.get(jndiName); }
      public static void addLocal(String jndiName, ContainerRemote invoker) { 
invokers.put(jndiName, invoker); }
      public static void removeLocal(String jndiName) { invokers.remove(jndiName); }
  -     
  +
        public static void setTransactionManager(TransactionManager txMan)
        {
  -             if (tm == null) 
  +             if (tm == null)
                   tm = txMan;
        }
  +
  +  public Principal getPrincipal()
  +  {
  +    return SecurityAssociation.getPrincipal();
  +  }
  +
  +  public Object getCredential()
  +  {
  +    return SecurityAssociation.getCredential();
  +  }
   
      // Constructors --------------------------------------------------
      protected GenericProxy(String name, ContainerRemote container, boolean optimize)
  
  
  
  1.8       +4 -2      
jboss/src/main/org/jboss/ejb/plugins/jrmp/interfaces/HomeProxy.java
  
  Index: HomeProxy.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/jrmp/interfaces/HomeProxy.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- HomeProxy.java    2000/06/16 13:10:25     1.7
  +++ HomeProxy.java    2000/08/06 21:36:01     1.8
  @@ -17,7 +17,7 @@
    *      
    *      @see <related>
    *      @author Rickard �berg ([EMAIL PROTECTED])
  - *      @version $Revision: 1.7 $
  + *      @version $Revision: 1.8 $
    */
   public class HomeProxy
      extends GenericProxy
  @@ -70,12 +70,14 @@
              {
                 return container.invokeHome(m, args, 
                                                                                       
 tm != null ? tm.getTransaction() : null,
  -                                                                                    
 null);
  +                                                                                    
 getPrincipal(), getCredential());
              } else
              {
                 RemoteMethodInvocation rmi = new RemoteMethodInvocation(null, m, 
args);
                 if (tm != null)
                    rmi.setTransaction(tm.getTransaction());
  +           rmi.setPrincipal(getPrincipal());
  +           rmi.setCredential(getCredential());
                 return container.invokeHome(new MarshalledObject(rmi));
              }
         }
  
  
  
  1.6       +12 -1     
jboss/src/main/org/jboss/ejb/plugins/jrmp/interfaces/RemoteMethodInvocation.java
  
  Index: RemoteMethodInvocation.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/jrmp/interfaces/RemoteMethodInvocation.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- RemoteMethodInvocation.java       2000/07/27 22:30:29     1.5
  +++ RemoteMethodInvocation.java       2000/08/06 21:36:01     1.6
  @@ -27,7 +27,7 @@
    *   @author Rickard �berg ([EMAIL PROTECTED])
    *  @author <a href="mailto:[EMAIL PROTECTED]">Richard 
Monson-Haefel</a>.
    *  @author <a href="mailto:[EMAIL PROTECTED]">Marc Fleury</a>.
  - *   @version $Revision: 1.5 $
  + *   @version $Revision: 1.6 $
    */
   public final class RemoteMethodInvocation
      implements java.io.Serializable
  @@ -43,6 +43,7 @@
        
        Transaction tx;
        Principal identity;
  +  Object credential;
        
        transient Map methodMap;
   
  @@ -131,6 +132,16 @@
        {
                return identity;
        }
  +
  +  public Object getCredential()
  +  {
  +    return credential;
  +  }
  +
  +  public void setCredential( Object credential )
  +  {
  +    this.credential = credential;
  +  }
         
      // Package protected ---------------------------------------------
   
  
  
  
  1.10      +4 -2      
jboss/src/main/org/jboss/ejb/plugins/jrmp/interfaces/StatefulSessionProxy.java
  
  Index: StatefulSessionProxy.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/jrmp/interfaces/StatefulSessionProxy.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- StatefulSessionProxy.java 2000/07/06 07:53:48     1.9
  +++ StatefulSessionProxy.java 2000/08/06 21:36:01     1.10
  @@ -19,7 +19,7 @@
    *      
    *      @see <related>
    *      @author Rickard �berg ([EMAIL PROTECTED])
  - *      @version $Revision: 1.9 $
  + *      @version $Revision: 1.10 $
    */
   public class StatefulSessionProxy
      extends GenericProxy
  @@ -56,12 +56,14 @@
           {
              return container.invoke(id, m, args, 
                                                                        tm != null ? 
tm.getTransaction() : null,
  -                                                                     null);
  +                                                                     
getPrincipal(), getCredential());
           } else
           {
              RemoteMethodInvocation rmi = new RemoteMethodInvocation(id, m, args);
              if (tm != null)
                 rmi.setTransaction(tm.getTransaction());
  +        rmi.setPrincipal(getPrincipal());
  +        rmi.setCredential(getCredential());
                         
              return container.invoke(new MarshalledObject(rmi));
           }
  
  
  
  1.7       +4 -2      
jboss/src/main/org/jboss/ejb/plugins/jrmp/interfaces/StatelessSessionProxy.java
  
  Index: StatelessSessionProxy.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/jrmp/interfaces/StatelessSessionProxy.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- StatelessSessionProxy.java        2000/06/16 13:10:25     1.6
  +++ StatelessSessionProxy.java        2000/08/06 21:36:01     1.7
  @@ -20,7 +20,7 @@
    *      
    *      @see <related>
    *      @author Rickard �berg ([EMAIL PROTECTED])
  - *      @version $Revision: 1.6 $
  + *      @version $Revision: 1.7 $
    */
   public class StatelessSessionProxy
      extends GenericProxy
  @@ -77,12 +77,14 @@
            {
               return container.invoke(null, m, args, 
                                                                        tm != null ? 
tm.getTransaction() : null,
  -                                                                     null);
  +                                                                     
getPrincipal(), getCredential());
            } else
            {
                 RemoteMethodInvocation rmi = new RemoteMethodInvocation(null, m, 
args);
                 if (tm != null)
                    rmi.setTransaction(tm.getTransaction());
  +           rmi.setPrincipal(getPrincipal());
  +           rmi.setCredential(getCredential());
                                        
                 return container.invoke(new MarshalledObject(rmi));
            }
  
  
  

Reply via email to