Módulo de inicio de sesión personalizado JBoss JAAS

Estoy tratando de usar un JAASmódulo de autenticación personalizado para una aplicación basada en web alojada JBoss 5.1.0.GA. Entonces, todo parece estar funcionando bien, hasta que el número de usuarios aumenta y las sesiones (por lo que parece) comienzan a mezclarse.

La razón por la que estoy usando el JAAS personalizado se debe a un backend de autenticación personalizado y la necesidad de devolver la contraseña para un uso posterior en la aplicación.

Cuando llamo a request.getUserPrincipal en servlets, obtengo un objeto de tipo SimplePrincipal en mi principal personalizado. Para obtener el usuario que estoy usando SecurityAssociation.getSubject().getPrincipals()y sospecho que en este momento estoy obteniendo el principal incorrecto.

¿Cuál es la forma correcta de implementar un módulo de inicio de sesión personalizado y recuperar el Principal conectado en la capa web (Serlets) en JBoss?

EDITAR: El problema existe en la capa EJB, https://issues.jboss.org/browse/EJBTHREE-1756

Árbitro:

  1. http://stuffthathappens.com/blog/2008/05/16/writing-a-custom-jaas-loginmodule/
  2. http://community.jboss.org/wiki/SecurityJAASLoginModule
  3. http://community.jboss.org/message/531986#531986
  4. http://download.oracle.com/javase/1.4.2/docs/guide/security/jaas/JAASLMDevGuide.html
  5. http://community.jboss.org/thread/44388
  6. http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/5/pdf/Security_Guide/JBoss_Enterprise_Application_Platform-5-Security_Guide-en-US.pdf
Respuesta 1

Acabo de encontrar un comportamiento extraño que no esperaría de una ArrayList <String> en Java. Esto viene, sin duda, de mi pobre comprensión de las referencias en Java. Déjame mostrarte esto ...

Estoy aprendiendo Spring y las cosas iban bien, pero de repente me encuentro con este problema en el que no puede encontrar un bean calificado. Golpeando la pared, incluso en una nueva aplicación, obtengo esto. Dejame saber si tu ...

¿Alguien puede explicar el significado de estas constantes y por qué se eligen? static int hash (int h) {// Esta función asegura que los códigos hash que difieren solo en // constante ...

Tengo una aplicación Java que se ejecuta en Windows 7 de 64 bits, pero que se ejecuta en una versión de 32 bits de JRE. Necesito esta aplicación para comunicarme con un puerto serie de comunicaciones, y aparentemente necesito un poco de ayuda. :) ...