<?xml version="1.0" encoding="UTF-8"?>

<ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee" id="ejb-jar_ID"
   version="2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
  <display-name>Generated descriptor Mon Dec 12 14:46:07 CET 2005</display-name>
  <enterprise-beans>
    <session id="RunAs">
      <ejb-name>RunAs</ejb-name>
      <home>org.jboss.test.security.interfaces.RunAsServiceRemoteHome</home>
      <remote>org.jboss.test.security.interfaces.RunAsServiceRemote</remote>
      <ejb-class>org.jboss.test.security.ejb.RunAsBean</ejb-class>
      <session-type>Stateless</session-type>
      <transaction-type>Container</transaction-type>
      <security-role-ref>
        <role-name>allAuthCaller</role-name>
        <role-link>allAuthCaller</role-link>
      </security-role-ref>
      <security-role-ref>
        <role-name>userCaller</role-name>
        <role-link>userCaller</role-link>
      </security-role-ref>
      <security-role-ref>
        <role-name>groupMemberCaller</role-name>
        <role-link>groupMemberCaller</role-link>
      </security-role-ref>
      <security-role-ref>
        <role-name>ejbDispatcherCaller</role-name>
        <role-link>ejbDispatcherCaller</role-link>
      </security-role-ref>
      <security-role-ref>
        <role-name>directEjbCaller</role-name>
        <role-link>directEjbCaller</role-link>
      </security-role-ref>
      <security-role-ref>
        <role-name>secondEjbCaller</role-name>
        <role-link>secondEjbCaller</role-link>
      </security-role-ref>
      <security-role-ref>
        <role-name>identitySubstitutionCaller</role-name>
        <role-link>identitySubstitutionCaller</role-link>
      </security-role-ref>
    </session>

    <session id="Secured">
      <ejb-name>Secured</ejb-name>
      <home>org.jboss.test.security.interfaces.SecuredServiceRemoteHome</home>
      <remote>org.jboss.test.security.interfaces.SecuredServiceRemote</remote>
      <ejb-class>org.jboss.test.security.ejb.SecuredBean</ejb-class>
      <session-type>Stateless</session-type>
      <transaction-type>Container</transaction-type>
       <security-role-ref>
         <role-name>allAuthCaller</role-name>
         <role-link>allAuthCaller</role-link>
       </security-role-ref>
       <security-role-ref>
         <role-name>userCaller</role-name>
         <role-link>userCaller</role-link>
       </security-role-ref>
       <security-role-ref>
         <role-name>groupMemberCaller</role-name>
         <role-link>groupMemberCaller</role-link>
       </security-role-ref>
       <security-role-ref>
         <role-name>ejbDispatcherCaller</role-name>
         <role-link>ejbDispatcherCaller</role-link>
       </security-role-ref>
       <security-role-ref>
         <role-name>directEjbCaller</role-name>
         <role-link>directEjbCaller</role-link>
       </security-role-ref>
       <security-role-ref>
         <role-name>secondEjbCaller</role-name>
         <role-link>secondEjbCaller</role-link>
       </security-role-ref>
      <security-identity>
        <run-as>
          <role-name>identitySubstitutionCaller</role-name>
        </run-as>
      </security-identity>
    </session>
  </enterprise-beans>

  <assembly-descriptor>
    <security-role>
      <role-name>allAuthCaller</role-name>
    </security-role>
    <security-role>
      <role-name>userCaller</role-name>
    </security-role>
    <security-role>
      <role-name>groupMemberCaller</role-name>
    </security-role>
    <security-role>
      <role-name>ejbDispatcherCaller</role-name>
    </security-role>
    <security-role>
      <role-name>directEjbCaller</role-name>
    </security-role>
    <security-role>
      <role-name>secondEjbCaller</role-name>
    </security-role>
    <security-role>
      <role-name>identitySubstitutionCaller</role-name>
    </security-role>
    <method-permission>
      <role-name>identitySubstitutionCaller</role-name>
      <method>
        <ejb-name>RunAs</ejb-name>
        <method-name>*</method-name>
      </method>
    </method-permission>
    <method-permission>
      <unchecked/>
      <method>
        <ejb-name>Secured</ejb-name>
        <method-intf>Home</method-intf>
        <method-name>*</method-name>
      </method>
    </method-permission>
    <method-permission>
      <unchecked/>
      <method>
        <ejb-name>Secured</ejb-name>
        <method-intf>Remote</method-intf>
        <method-name>getEJBHome</method-name>
      </method>
    </method-permission>
    <method-permission>
      <unchecked/>
      <method>
        <ejb-name>Secured</ejb-name>
        <method-intf>Remote</method-intf>
        <method-name>getHandle</method-name>
      </method>
    </method-permission>
    <method-permission>
      <unchecked/>
      <method>
        <ejb-name>Secured</ejb-name>
        <method-intf>Remote</method-intf>
        <method-name>getPrimaryKey</method-name>
      </method>
    </method-permission>
    <method-permission>
      <unchecked/>
      <method>
        <ejb-name>Secured</ejb-name>
        <method-intf>Remote</method-intf>
        <method-name>isIdentical</method-name>
      </method>
    </method-permission>
    <method-permission>
      <unchecked/>
      <method>
        <ejb-name>Secured</ejb-name>
        <method-intf>Remote</method-intf>
        <method-name>remove</method-name>
      </method>
    </method-permission>
    <method-permission>
      <unchecked/>
      <method>
        <ejb-name>Secured</ejb-name>
        <method-name>publicMethod</method-name>
        <method-params>
          <method-param>org.jboss.test.security.interfaces.CallerInfo</method-param>
        </method-params>
      </method>
    </method-permission>
    <method-permission>
      <role-name>allAuthCaller</role-name>
      <method>
        <ejb-name>Secured</ejb-name>
        <method-name>allAuthMethod</method-name>
        <method-params>
          <method-param>org.jboss.test.security.interfaces.CallerInfo</method-param>
        </method-params>
      </method>
    </method-permission>
    <method-permission>
      <role-name>userCaller</role-name>
      <method>
        <ejb-name>Secured</ejb-name>
        <method-name>userMethod</method-name>
        <method-params>
          <method-param>org.jboss.test.security.interfaces.CallerInfo</method-param>
        </method-params>
      </method>
    </method-permission>
    <method-permission>
      <role-name>groupMemberCaller</role-name>
      <method>
        <ejb-name>Secured</ejb-name>
        <method-name>groupMemberMethod</method-name>
        <method-params>
          <method-param>org.jboss.test.security.interfaces.CallerInfo</method-param>
        </method-params>
      </method>
    </method-permission>
    <method-permission>
      <unchecked/>
      <method>
        <ejb-name>Secured</ejb-name>
        <method-name>runAsMethod</method-name>
        <method-params>
          <method-param>org.jboss.test.security.interfaces.CallerInfo</method-param>
        </method-params>
      </method>
    </method-permission>
    <method-permission>
      <unchecked/>
      <method>
        <ejb-name>Secured</ejb-name>
        <method-name>unprotectedEjbMethod</method-name>
        <method-params>
          <method-param>org.jboss.test.security.interfaces.CallerInfo</method-param>
        </method-params>
      </method>
    </method-permission>
    <exclude-list>
      <method>
        <ejb-name>Secured</ejb-name>
        <method-name>nonCallableMethod</method-name>
        <method-params>
          <method-param>org.jboss.test.security.interfaces.CallerInfo</method-param>
        </method-params>
      </method>
    </exclude-list>
  </assembly-descriptor>
</ejb-jar>
