User: stark   
  Date: 01/02/12 01:29:42

  Added:       security/src/main/org/jboss/test/security/test/ejbs
                        Entity.java EntityBeanImpl.java EntityHome.java
                        StatelessSession.java StatelessSessionBean.java
                        StatelessSessionBean2.java
                        StatelessSessionHome.java ejb-jar.xml jboss.xml
                        roles.properties users.properties
  Log:
  Tests of the security proxy layer and custom JAAS security
  
  Revision  Changes    Path
  1.1                  
contrib/security/src/main/org/jboss/test/security/test/ejbs/Entity.java
  
  Index: Entity.java
  ===================================================================
  package org.jboss.test.security.test.ejbs;
  
  import javax.ejb.*;
  import java.rmi.*;
  
  public interface Entity extends EJBObject
  {
      public String echo(String arg) throws RemoteException;
  }
  
  
  
  1.1                  
contrib/security/src/main/org/jboss/test/security/test/ejbs/EntityBeanImpl.java
  
  Index: EntityBeanImpl.java
  ===================================================================
  package org.jboss.test.security.test.ejbs;
  
  import java.rmi.RemoteException;
  import java.security.Principal;
  import javax.ejb.*;
  
  public class EntityBeanImpl implements EntityBean
  {
      private EntityContext context;
  
      public void ejbActivate()
      {
          System.out.println("EntityBean.ejbActivate() called");
      }
  
      public void ejbPassivate()
      {
          System.out.println("EntityBean.ejbPassivate() called");
      }
  
      public void ejbRemove()
      {
          System.out.println("EntityBean.ejbRemove() called");
      }
      public void ejbLoad()
      {
          System.out.println("EntityBean.ejbLoad() called");
      }
      public void ejbStore()
      {
          System.out.println("EntityBean.ejbStore() called");
      }
  
      public void setEntityContext(EntityContext context)
      {
          this.context = context;
      }
      public void unsetEntityContext()
      {
          this.context = null;
      }
  
      public String echo(String arg)
      {
          System.out.println("EntityBean.echo, arg="+arg);
          Principal p = context.getCallerPrincipal();
          System.out.println("EntityBean.echo, callerPrincipal="+p);
          return arg;
      }
  
      public String ejbFindByPrimaryKey(String key)
      {
          System.out.println("EntityBean.ejbFindByPrimaryKey, key="+key);
          return key;
      }
  }
  
  
  
  1.1                  
contrib/security/src/main/org/jboss/test/security/test/ejbs/EntityHome.java
  
  Index: EntityHome.java
  ===================================================================
  package org.jboss.test.security.test.ejbs;
  
  import javax.ejb.*;
  import java.rmi.*;
  
  public interface EntityHome extends EJBHome
  {
      public Entity findByPrimaryKey(String key) throws RemoteException, 
FinderException;
  }
  
  
  
  1.1                  
contrib/security/src/main/org/jboss/test/security/test/ejbs/StatelessSession.java
  
  Index: StatelessSession.java
  ===================================================================
  package org.jboss.test.security.test.ejbs;
  
  import javax.ejb.*;
  import java.rmi.*;
  
  public interface StatelessSession extends EJBObject
  {
      public String echo(String arg) throws RemoteException;
  }
  
  
  
  1.1                  
contrib/security/src/main/org/jboss/test/security/test/ejbs/StatelessSessionBean.java
  
  Index: StatelessSessionBean.java
  ===================================================================
  package org.jboss.test.security.test.ejbs;
  
  import java.rmi.RemoteException;
  import java.security.Principal;
  import javax.ejb.*;
  
  public class StatelessSessionBean implements SessionBean
  {
      private SessionContext sessionContext;
  
      public void ejbCreate() throws RemoteException, CreateException
      {
          System.out.println("StatelessSessionBean.ejbCreate() called");
      }
  
      public void ejbActivate() throws RemoteException
      {
          System.out.println("StatelessSessionBean.ejbActivate() called");
      }
  
      public void ejbPassivate() throws RemoteException
      {
          System.out.println("StatelessSessionBean.ejbPassivate() called");
      }
  
      public void ejbRemove() throws RemoteException
      {
          System.out.println("StatelessSessionBean.ejbRemove() called");
      }
  
      public void setSessionContext(SessionContext context) throws RemoteException
      {
          sessionContext = context;
      }
  
      public String echo(String arg)
      {
          System.out.println("StatelessSessionBean.echo, arg="+arg);
          Principal p = sessionContext.getCallerPrincipal();
          System.out.println("StatelessSessionBean.echo, callerPrincipal="+p);
          return arg;
      }
  
  }
  
  
  
  1.1                  
contrib/security/src/main/org/jboss/test/security/test/ejbs/StatelessSessionBean2.java
  
  Index: StatelessSessionBean2.java
  ===================================================================
  package org.jboss.test.security.test.ejbs;
  
  import java.rmi.RemoteException;
  import java.security.Principal;
  import javax.ejb.*;
  import javax.naming.InitialContext;
  
  public class StatelessSessionBean2 implements SessionBean
  {
      private SessionContext sessionContext;
  
      public void ejbCreate() throws RemoteException, CreateException
      {
          System.out.println("StatelessSessionBean2.ejbCreate() called");
      }
  
      public void ejbActivate() throws RemoteException
      {
          System.out.println("StatelessSessionBean2.ejbActivate() called");
      }
  
      public void ejbPassivate() throws RemoteException
      {
          System.out.println("StatelessSessionBean2.ejbPassivate() called");
      }
  
      public void ejbRemove() throws RemoteException
      {
          System.out.println("StatelessSessionBean2.ejbRemove() called");
      }
  
      public void setSessionContext(SessionContext context) throws RemoteException
      {
          sessionContext = context;
      }
  
      public String echo(String arg)
      {
          System.out.println("StatelessSessionBean2.echo, arg="+arg);
          Principal p = sessionContext.getCallerPrincipal();
          System.out.println("StatelessSessionBean2.echo, callerPrincipal="+p);
          String echo = null;
          try
          {
              InitialContext ctx = new InitialContext();
              EntityHome home = (EntityHome) ctx.lookup("java:comp/env/Entity");
              Entity entity = home.findByPrimaryKey(arg);
              echo = entity.echo(arg);
          }
          catch(Exception e)
          {
              e.printStackTrace();
          }
          return echo;
      }
  
  }
  
  
  
  1.1                  
contrib/security/src/main/org/jboss/test/security/test/ejbs/StatelessSessionHome.java
  
  Index: StatelessSessionHome.java
  ===================================================================
  package org.jboss.test.security.test.ejbs;
  
  import javax.ejb.*;
  import java.rmi.*;
  
  public interface StatelessSessionHome extends EJBHome
  {
      public StatelessSession create() throws RemoteException, CreateException;
  }
  
  
  
  1.1                  
contrib/security/src/main/org/jboss/test/security/test/ejbs/ejb-jar.xml
  
  Index: ejb-jar.xml
  ===================================================================
  <?xml version="1.0"?>
  <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 
1.1//EN"
      "http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd">
  
  <ejb-jar>
        <display-name>SecurityTests</display-name>
        <enterprise-beans>
                <session>
                        <description>A project repository stateful session 
bean</description>
                        <ejb-name>ProjRepository</ejb-name>
                        
<home>org.jboss.test.security.test.ejbs.project.interfaces.ProjRepositoryHome</home>
                        
<remote>org.jboss.test.security.test.ejbs.project.interfaces.ProjRepository</remote>
                        
<ejb-class>org.jboss.test.security.test.ejbs.project.ProjRepositoryBean</ejb-class>
                        <session-type>Stateful</session-type>
                        <transaction-type>Container</transaction-type>
                </session>
  
                <session>
                        <description>A trival echo session bean</description>
                        <ejb-name>StatelessSession</ejb-name>
                        
<home>org.jboss.test.security.test.ejbs.StatelessSessionHome</home>
                        
<remote>org.jboss.test.security.test.ejbs.StatelessSession</remote>
                        
<ejb-class>org.jboss.test.security.test.ejbs.StatelessSessionBean</ejb-class>
                        <session-type>Stateless</session-type>
                        <transaction-type>Container</transaction-type>
                        <security-role-ref>
                                <role-name>Echo</role-name>
                                <role-link>Echo</role-link>
                        </security-role-ref>
                </session>
  
                <session>
                        <description>A trival echo session bean that uses 
Entity</description>
                        <ejb-name>StatelessSession2</ejb-name>
                        
<home>org.jboss.test.security.test.ejbs.StatelessSessionHome</home>
                        
<remote>org.jboss.test.security.test.ejbs.StatelessSession</remote>
                        
<ejb-class>org.jboss.test.security.test.ejbs.StatelessSessionBean2</ejb-class>
                        <session-type>Stateless</session-type>
                        <transaction-type>Bean</transaction-type>
                        <ejb-ref>
                                <ejb-ref-name>Entity</ejb-ref-name>
                                <ejb-ref-type>Entity</ejb-ref-type>
                        <ejb-link>Entity</ejb-link>
                                
<home>org.jboss.test.security.test.ejbs.EntityHome</home>
                                
<remote>org.jboss.test.security.test.ejbs.Entity</remote>
                        </ejb-ref>
                        <security-role-ref>
                                <role-name>Echo</role-name>
                                <role-link>Echo</role-link>
                        </security-role-ref>
                </session>
  
                <entity>
                        <description>A trival echo entity bean</description>
                        <ejb-name>Entity</ejb-name>
                        <home>org.jboss.test.security.test.ejbs.EntityHome</home>
                        <remote>org.jboss.test.security.test.ejbs.Entity</remote>
                        
<ejb-class>org.jboss.test.security.test.ejbs.EntityBeanImpl</ejb-class>
                        <persistence-type>Bean</persistence-type>
                        <prim-key-class>java.lang.String</prim-key-class>
                        <reentrant>False</reentrant>
                        <security-role-ref>
                                <role-name>Echo</role-name>
                                <role-link>Echo</role-link>
                        </security-role-ref>
                </entity>
      </enterprise-beans>
  
        <assembly-descriptor>
                <security-role>
                        <role-name>Echo</role-name>
                </security-role>
  
                <method-permission>
                        <role-name>Echo</role-name>
                        <method>
                                <ejb-name>StatelessSession</ejb-name>
                                <method-name>*</method-name>
                        </method>
                        <method>
                                <ejb-name>StatelessSession2</ejb-name>
                                <method-name>*</method-name>
                        </method>
                        <method>
                                <ejb-name>Entity</ejb-name>
                                <method-name>*</method-name>
                        </method>
                </method-permission>
      </assembly-descriptor>
  </ejb-jar>
  
  
  
  1.1                  
contrib/security/src/main/org/jboss/test/security/test/ejbs/jboss.xml
  
  Index: jboss.xml
  ===================================================================
  <?xml version="1.0"?>
  <jboss>
        <security-domain>test-domain</security-domain>
  
        <container-configurations>
                <container-configuration>
                        <container-name>Standard Stateful SessionBean</container-name>
                        
<role-mapping-manager>java:/jaas/test-domain</role-mapping-manager>
                        
<authentication-module>java:/jaas/test-domain</authentication-module>
                </container-configuration>
                <container-configuration>
                        <container-name>Standard Stateless SessionBean</container-name>
                        
<role-mapping-manager>java:/jaas/test-domain</role-mapping-manager>
                        
<authentication-module>java:/jaas/test-domain</authentication-module>
                </container-configuration>
  
                <container-configuration>
                        <container-name>Standard BMP EntityBean</container-name>
                </container-configuration>
        </container-configurations>
  
        <enterprise-beans>
                <session>
                        <ejb-name>ProjRepository</ejb-name>
                        <configuration-name>Standard Stateful 
SessionBean</configuration-name>
                        
<stateless-security-proxy>org.jboss.test.security.test.ejbs.project.ProjRepositoryStatelessProxy</stateless-security-proxy>
                        
<stateful-security-proxy>org.jboss.test.security.test.ejbs.project.ProjRepositoryStatefulProxy</stateful-security-proxy>
                </session>
                <session>
                        <ejb-name>StatelessSession</ejb-name>
                        <configuration-name>Standard Stateless 
SessionBean</configuration-name>
                </session>
                <session>
                        <ejb-name>StatelessSession2</ejb-name>
                        <configuration-name>Standard Stateless 
SessionBean</configuration-name>
                </session>
                <entity>
                        <ejb-name>Entity</ejb-name>
                        <configuration-name>Standard BMP 
EntityBean</configuration-name>
                </entity>
        </enterprise-beans>
  </jboss>
  
  
  
  1.1                  
contrib/security/src/main/org/jboss/test/security/test/ejbs/roles.properties
  
  Index: roles.properties
  ===================================================================
  scott=Echo
  stark=Java,Coder
  
  
  
  1.1                  
contrib/security/src/main/org/jboss/test/security/test/ejbs/users.properties
  
  Index: users.properties
  ===================================================================
  scott=echoman
  stark=javaman
  
  
  

Reply via email to