Error con JAAS

gina mosquera
06 de Noviembre del 2005
Hola, tengo un problema cuando trato de ingresar a mi aplicación usando
DatabaseServerLoginModule y el error es el siguiente:

HTTP Status 400 - Invalid direct reference to form login page

type Status report

message Invalid direct reference to form login page

description The request sent by the client was syntactically incorrect
(Invalid direct reference to form login page).


La verificación de la cuenta de usuario lo está haciendo bien ya que
cuando ingreso con una cuenta de usuario que no existe me redirecciona a
la página de error definida en el web.xml, pero cuando ingreso con una
cuenta de usuario que si es válida me arroja el error anterior. No se
dónde se define la página a la que se redirecciona una vez el usuario
sea válido para ingresar a la aplicación. ?????? o si en el Servlet es
necesario crear algún método ????


Aquí están los archivos que uso por si ayudan de algo:


login-config.xml:


<application-policy name = "dominioSeguridad">
<authentication>
<login-module code = "org.jboss.security.ClientLoginModule" flag =
"required">
</login-module>
<login-module code =
"org.jboss.security.auth.spi.DatabaseServerLoginModule" flag = "required">
<module-option
name="dsJndiName">java:jdbc/ConexionMySql</module-option>
<module-option name="principalsQuery">select constrasena from
cuenta where usuario=?</module-option>
<module-option name="rolesQuery">select nombre, grupo from role
where usuario=?</module-option>
</login-module>
</authentication>
</application-policy>



jboss-web.xml:


<jboss-web>
<security-domain>java:jaas/dominioSeguridad</security-domain>
<context-root>/PruebaSeguridad</context-root>
</jboss-web>



web.xml:

<security-constraint>
<web-resource-collection>
<web-resource-name>NombreWebResource</web-resource-name>
<url-pattern>/registrar.jsp</url-pattern>
<url-pattern>/ingresar.jsp</url-pattern>
<url-pattern>/index.jsp</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>CO</role-name>
</auth-constraint>
<user-data-constraint>
<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>/error.jsp</form-error-page>
</form-login-config>
</login-config>

<security-role>
<description>Role</description>
<role-name>CO</role-name>
</security-role>



jboss.xml:


<container-configuration>
<container-name>Standard Stateless SessionBean</container-name>
<security-domain>java:jaas/dominioSeguridad</security-domain>
</container-configuration>



ejb-jar.xml:



<assembly-descriptor>
<security-role>
<description>Descripcion</description>
<role-name>CO</role-name>
</security-role>
<method-permission>
<role-name>CO</role-name>
<method>
<ejb-name>EJBSession</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
</method-permission>
</assembly-descriptor>


Gracias.