User: starksm
Date: 01/07/14 10:10:53
Modified: src/main/org/jboss/test/security/ejb Tag: Branch_2_4
EntityBeanImpl.java RunAsMDB.java
Log:
Merge latest changes from main
Revision Changes Path
No revision
No revision
1.2.2.1 +52 -2
jbosstest/src/main/org/jboss/test/security/ejb/EntityBeanImpl.java
Index: EntityBeanImpl.java
===================================================================
RCS file:
/cvsroot/jboss/jbosstest/src/main/org/jboss/test/security/ejb/EntityBeanImpl.java,v
retrieving revision 1.2
retrieving revision 1.2.2.1
diff -u -r1.2 -r1.2.2.1
--- EntityBeanImpl.java 2001/06/13 04:55:50 1.2
+++ EntityBeanImpl.java 2001/07/14 17:10:52 1.2.2.1
@@ -1,8 +1,15 @@
package org.jboss.test.security.ejb;
+import java.lang.reflect.Method;
+import java.lang.reflect.InvocationTargetException;
import java.rmi.RemoteException;
import java.security.Principal;
-import javax.ejb.*;
+import javax.ejb.EJBException;
+import javax.ejb.EntityBean;
+import javax.ejb.EntityContext;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.security.auth.Subject;
/** A BMP entity bean that creates beans on the fly with
a key equal to that passed to findByPrimaryKey. Obviously
@@ -10,7 +17,7 @@
using the echo method.
@author [EMAIL PROTECTED]
-@version $Revision: 1.2 $
+@version $Revision: 1.2.2.1 $
*/
public class EntityBeanImpl implements EntityBean
{
@@ -54,7 +61,50 @@
{
System.out.println("EntityBean.echo, arg="+arg);
Principal p = context.getCallerPrincipal();
+ boolean isInternalRole = context.isCallerInRole("InternalRole");
System.out.println("EntityBean.echo, callerPrincipal="+p);
+ System.out.println("EntityBean.echo,
isCallerInRole('InternalRole')="+isInternalRole);
+ // Check the java:comp/env/security/security-domain
+ try
+ {
+ InitialContext ctx = new InitialContext();
+ Object securityMgr =
ctx.lookup("java:comp/env/security/security-domain");
+ System.out.println("Checking java:comp/env/security/security-domain");
+ if( securityMgr == null )
+ throw new EJBException("Failed to find security mgr under:
java:comp/env/security/security-domain");
+ System.out.println("Found SecurityManager: "+securityMgr);
+ /* I'm using this runtime introspection to determin if the security
+ manager supports a getActiveSubject() method because the
+ org.jboss.security.SubjectSecurityManager interface is not part of
+ the standard client jars which are used to build the jbosstest suite.
+ Not legal EJB code, but this is test code.
+ */
+ Class securityMgrClass = securityMgr.getClass();
+ Class[] parameterTypes = {};
+ Method getActiveSubject =
securityMgrClass.getDeclaredMethod("getActiveSubject", parameterTypes);
+ Object[] args = {};
+ Subject activeSubject = (Subject) getActiveSubject.invoke(securityMgr,
args);
+ System.out.println("ActiveSubject: "+activeSubject);
+ if( activeSubject == null )
+ throw new EJBException("No ActiveSubject found");
+ }
+ catch(NoSuchMethodException e)
+ {
+ // Ok, not a SubjectSecurityManager
+ }
+ catch(InvocationTargetException e)
+ {
+ // Ok, not a SubjectSecurityManager
+ }
+ catch(IllegalAccessException e)
+ {
+ // Ok, not a SubjectSecurityManager
+ }
+ catch(NamingException e)
+ {
+ e.printStackTrace();
+ throw new EJBException("Naming exception: "+e.toString(true));
+ }
return p.getName();
}
1.1.2.2 +1 -1 jbosstest/src/main/org/jboss/test/security/ejb/RunAsMDB.java
Index: RunAsMDB.java
===================================================================
RCS file:
/cvsroot/jboss/jbosstest/src/main/org/jboss/test/security/ejb/RunAsMDB.java,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- RunAsMDB.java 2001/07/09 08:54:12 1.1.2.1
+++ RunAsMDB.java 2001/07/14 17:10:52 1.1.2.2
@@ -23,7 +23,7 @@
the InternalRole assigned in the MDB descriptor run-as element.
@author [EMAIL PROTECTED]
- @version $Revision: 1.1.2.1 $
+ @version $Revision: 1.1.2.2 $
*/
public class RunAsMDB implements MessageDrivenBean, MessageListener
{
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development