maguro 2005/02/27 22:24:27
Modified: modules/core/src/java/org/openejb GenericEJBContainer.java
Log:
Insert the role ref permissions that were previously collected from the DD.
Revision Changes Path
1.41 +13 -4
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.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- GenericEJBContainer.java 21 Feb 2005 18:23:05 -0000 1.40
+++ GenericEJBContainer.java 28 Feb 2005 03:24:26 -0000 1.41
@@ -49,6 +49,7 @@
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;
@@ -68,6 +69,7 @@
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;
@@ -86,6 +88,7 @@
import org.apache.geronimo.transaction.TrackedConnectionAssociator;
import org.apache.geronimo.transaction.UserTransactionImpl;
import org.apache.geronimo.transaction.context.TransactionContextManager;
+
import org.openejb.cache.InstancePool;
import org.openejb.client.EJBObjectHandler;
import org.openejb.client.EJBObjectProxy;
@@ -402,6 +405,12 @@
}
}
+ 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) {
@@ -484,9 +493,9 @@
infoFactory.addAttribute("classLoader", ClassLoader.class, false);
- infoFactory.addOperation("getMethodIndex", new Class[]
{Method.class});
- infoFactory.addOperation("getEJBObject", new Class[] {Object.class});
- infoFactory.addOperation("getEJBLocalObject", new Class[]
{Object.class});
+ infoFactory.addOperation("getMethodIndex", new
Class[]{Method.class});
+ infoFactory.addOperation("getEJBObject", new Class[]{Object.class});
+ infoFactory.addOperation("getEJBLocalObject", new
Class[]{Object.class});
infoFactory.addOperation("invoke", new Class[]{Invocation.class});
infoFactory.addOperation("invoke", new Class[]{Method.class,
Object[].class, Object.class});