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

Reply via email to