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

<server>
   <!-- The custom JAAS login configuration that installs 
       a Configuration capable of dynamically updating the
       config settings
   -->
   <mbean code="org.jboss.security.auth.login.DynamicLoginConfig"
      name="jboss.security.tests:service=LoginConfig">
      <attribute name="PolicyConfig" serialDataType="jbxb">
         <jaas:policy
            xsi:schemaLocation="urn:jboss:security-config:4.1 resource:security-config_4_1.xsd"
            xmlns:jaas="urn:jboss:security-config:4.1"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            >
            <jaas:application-policy name="userinrole">
               <jaas:authentication>
                  <jaas:login-module code="org.jboss.security.auth.spi.XMLLoginModule"
                     flag="required">
                     <jaas:module-option name="userInfo">
                        <ur:users
                           xsi:schemaLocation="urn:jboss:user-roles:1.0 resource:user-roles_1_0.xsd"
                           xmlns:ur="urn:jboss:user-roles:1.0">
                           <ur:user name="jduke" password="theduke">
                              <ur:role name="ServletUserRole"/>
                              <ur:role name="AnotherUserRole"/>
                              <ur:role name="AuthorizedUser"/>
                              <ur:role name="callerJduke" group="CallerPrincipal"/>
                           </ur:user>
                        </ur:users>
                     </jaas:module-option>
                     <jaas:module-option name="unauthenticatedIdentity">guest</jaas:module-option>
                  </jaas:login-module>
               </jaas:authentication>
            </jaas:application-policy>

           <jaas:application-policy name="userinrole1">
              <jaas:authentication>
                 <jaas:login-module code="org.jboss.security.auth.spi.XMLLoginModule"
                    flag="required">
                    <jaas:module-option name="userInfo">
                       <ur:users
                          xsi:schemaLocation="urn:jboss:user-roles:1.0 resource:user-roles_1_0.xsd"
                          xmlns:ur="urn:jboss:user-roles:1.0">
                          <ur:user name="sa" password="sa">
                             <ur:role name="X"/>
                             <ur:role name="Z"/>
                          </ur:user>
                       </ur:users>
                    </jaas:module-option>
                    <jaas:module-option name="unauthenticatedIdentity">guest</jaas:module-option>
                 </jaas:login-module>
              </jaas:authentication>
           </jaas:application-policy>

           <jaas:application-policy name="userinrole2">
              <jaas:authentication>
                 <jaas:login-module code="org.jboss.security.auth.spi.XMLLoginModule"
                    flag="required">
                    <jaas:module-option name="userInfo">
                       <ur:users
                          xsi:schemaLocation="urn:jboss:user-roles:1.0 resource:user-roles_1_0.xsd"
                          xmlns:ur="urn:jboss:user-roles:1.0">
                          <ur:user name="sa" password="sa">
                             <ur:role name="Y"/>
                             <ur:role name="Z"/>
                          </ur:user>
                       </ur:users>
                    </jaas:module-option>
                    <jaas:module-option name="unauthenticatedIdentity">guest</jaas:module-option>
                 </jaas:login-module>
              </jaas:authentication>
           </jaas:application-policy>
         </jaas:policy>         
      </attribute>
      <depends optional-attribute-name="LoginConfigService">
         jboss.security:service=XMLLoginConfig
      </depends>
      <depends optional-attribute-name="SecurityManagerService">
         jboss.security:service=JaasSecurityManager
      </depends>
   </mbean>

</server>
