segue anexo arquivos que utilizei num trabalho de mestrado para mostrar JAAS-EJB's que utiliza formlogin, ele utiliz o jboss-web.xml para fazer o mapeamento do JAAS, o login-config (pode copiar a pol�tica cc, abaixo) que usa arquivos de conf. para fazer autentica��o.

o jboss-web.xml fica junto do web.xml e os properties devem ficar dentro de WEB_INF/classes.


<application-policy name = "cc">
<authentication>
<login-module code = "org.jboss.security.auth.spi.UsersRolesLoginModule"
flag = "required">
<module-option name = "usersProperties">users.properties</module-option>
<module-option name = "rolesProperties">roles.properties</module-option>
</login-module>
</authentication>
</application-policy>
<!-- The XML based JAAS login configuration read by the
org.jboss.security.auth.login.XMLLoginConfig mbean. Add
an application-policy element for each security domain.

The outline of the application-policy is:
<application-policy name="security-domain-name">
  <authentication>
    <login-module code="login.module1.class.name" flag="control_flag">
      <module-option name = "option1-name">option1-value</module-option>
      <module-option name = "option2-name">option2-value</module-option>
      ...
    </login-module>

    <login-module code="login.module2.class.name" flag="control_flag">
      ...
    </login-module>
    ...
  </authentication>
</application-policy>

$Revision: 1.1.2.1 $
-->

<policy>
    <!-- Used by clients within the application server VM such as
    mbeans and servlets that access EJBs.
    -->
    <application-policy name = "client-login">
       <authentication>
          <login-module code = "org.jboss.security.ClientLoginModule"
             flag = "required">
          </login-module>
       </authentication>
    </application-policy>

    <!-- Security domain for JBossMQ -->
    <application-policy name = "jbossmq">
       <authentication>
          <login-module code = "org.jboss.mq.sm.file.DynamicLoginModule"
             flag = "required">
             <module-option name = "unauthenticatedIdentity">guest</module-option>
             <module-option name = "sm.objectnam">jboss.mq:service=StateManager</module-option>
          </login-module>
       </authentication>
    </application-policy>

    <!-- Security domains for testing new jca framework -->
    <application-policy name = "HsqlDbRealm">
       <authentication>
          <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule"
             flag = "required">
             <module-option name = "principal">sa</module-option>
             <module-option name = "userName">sa</module-option>
             <module-option name = "password"></module-option>
             <module-option name = "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=hsqldbDS</module-option>
          </login-module>
       </authentication>
    </application-policy>

    <application-policy name = "OracleDbRealm">
        <authentication>
            <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule"
                flag = "required">
                <module-option name = "principal">aluno2</module-option>
                <module-option name = "userName">aluno2</module-option>
                <module-option name = "password">aluno2</module-option>
                <module-option name = "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=OracleDS</module-option>
            </login-module>
        </authentication>
    </application-policy>

    <application-policy name = "FirebirdDBRealm">
       <authentication>
          <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule"
             flag = "required">
             <module-option name = "principal">sysdba</module-option>
             <module-option name = "userName">sysdba</module-option>
             <module-option name = "password">masterkey</module-option>
             <module-option name = "managedConnectionFactoryName">jboss.jca:service=XaTxCM,name=FirebirdDS</module-option>
          </login-module>
       </authentication>
    </application-policy>

    <application-policy name = "JmsXARealm">
       <authentication>
          <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule"
             flag = "required">
             <module-option name = "principal">guest</module-option>
             <module-option name = "userName">guest</module-option>
             <module-option name = "password">guest</module-option>
             <module-option name = "managedConnectionFactoryName">jboss.jca:service=XaTxCM,name=jmsra</module-option>
          </login-module>
       </authentication>
    </application-policy>

    <!-- The default login configuration used by any security domain that
    does not have a application-policy entry with a matching name
    -->
    <application-policy name = "other">
       <!-- A simple server login module, which can be used when the number 
       of users is relatively small. It uses two properties files:
       users.properties, which holds users (key) and their password (value).
       roles.properties, which holds users (key) and a comma-separated list of
       their roles (value).
       The unauthenticatedIdentity property defines the name of the principal
       that will be used when a null username and password are presented as is
       the case for an unuathenticated web client or MDB. If you want to
       allow such users to be authenticated add the property, e.g.,
       unauthenticatedIdentity="nobody"
       -->
       <authentication>
          <login-module code = "org.jboss.security.auth.spi.UsersRolesLoginModule"
             flag = "required" />
       </authentication>
    </application-policy>



    <application-policy name = "cc">
        <authentication>
            <login-module code = "org.jboss.security.auth.spi.UsersRolesLoginModule"
                flag = "required">
                <module-option name = "usersProperties">users.properties</module-option>
                <module-option name = "rolesProperties">roles.properties</module-option> 
            </login-module>
        </authentication>
    </application-policy>


    <application-policy name = "sicredi">
        <authentication>
            <login-module code = "org.jboss.security.auth.spi.LdapLoginModule" flag = "required">
                <module-option name = "java.naming.factory.initial">com.sun.jndi.ldap.LdapCtxFactory</module-option>
                <module-option name = "java.naming.provider.url">ldap://10.1.10.51:389</module-option>
                <module-option name = "java.naming.security.authentication">simple</module-option>
                <module-option name = "principalDNPrefix">cn=</module-option>
                <module-option name = "principalDNSuffix">, ou=Users, dc=sicredi,dc=com,dc=br</module-option>
                <module-option name = "uidAttributeID">uid</module-option>
                <module-option name = "roleAttributeID">description</module-option>
                <module-option name = "rolesCtxDN">ou=Groups, dc=sicredi,dc=com,dc=br</module-option> 
            </login-module>  
        </authentication>
    </application-policy>

</policy>

# The username to role(s) mapping properties file
emerson=usuario
giliane=usuario
taciana=usuario
admin=admin

emerson.CallerPrincipal=caller_emerson
giliane.CallerPrincipal=caller_giliane
taciana.CallerPrincipal=caller_taciana
admin.CallerPrincipal=caller_admin
# The username to password(s) mapping properties file
emerson=emerson
giliane=giliane
taciana=taciana
admin=admin
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd";>

<web-app>
 <servlet>
  <servlet-name>MainServlet</servlet-name>
  <display-name>MainServlet</display-name>
  <servlet-class>cc.cliente.web.MainServlet</servlet-class>
 </servlet>
 
 
  <servlet-mapping>
  <servlet-name>MainServlet</servlet-name>
  <url-pattern>/MainServlet</url-pattern>
</servlet-mapping>

 
   <session-config>
      <session-timeout>30</session-timeout>
   </session-config>
   
   
   
<security-constraint>
    <web-resource-collection>
      <web-resource-name>Restricted</web-resource-name>
      <description>Controle de Compromissos</description>
      <url-pattern>/*</url-pattern>
      <http-method>GET</http-method>
      <http-method>POST</http-method>
    </web-resource-collection>
    <auth-constraint>
      <role-name>admin</role-name>     
      <role-name>usuario</role-name>     
    </auth-constraint>
    <user-data-constraint>
      <description>no description</description>
      <transport-guarantee>NONE</transport-guarantee>
    </user-data-constraint>
  </security-constraint>
  <login-config>
   <auth-method>FORM</auth-method>
		<form-login-config>
		<form-login-page>/login.jsp</form-login-page>
		<form-error-page>/Erro.html</form-error-page>
		</form-login-config>
  </login-config>
     
</web-app>
<?xml version="1.0" encoding="UTF-8"?>

<jboss-web>
  <security-domain>java:/jaas/cc</security-domain>

  <ejb-ref>
    <ejb-ref-name>ejb/ManterCompromissosFacade</ejb-ref-name>
    <jndi-name>ejb/ManterCompromissosFacade</jndi-name>
  </ejb-ref>
</jboss-web>
Title: Login


SCC - Sistema para Controle de Compromissos





Controle de Compromissos


Usuário :

Senha :


---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para: 
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]

Responder a