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