Módulo de login customizado do JBoss JAAS

Estou tentando usar um módulo de autenticação JAAS personalizado para um aplicativo baseado na Web hospedado no JBoss 5.1.0.GA Então, tudo parece estar funcionando bem, até que o número de usuários aumente e as sessões (assim o pense) comecem a ficar misturadas.

O motivo pelo qual estou usando o JAAS personalizado é devido a um backend de autenticação personalizado e à necessidade de passar a senha de volta para uso adicional no aplicativo.

Quando eu chamo request.getUserPrincipal em servlets eu recebo um object do tipo SimplePrincipal em vez do meu principal personalizado. Para obter o usuário eu estou usando SecurityAssociation.getSubject().getPrincipals() e suspeito que neste momento eu estou recebendo o principal incorreto.

Qual é a maneira correta de implementar um módulo de logon customizado e recuperar o Principal conectado na camada da web (Serlets) no JBoss?

EDIT: O problema existe na camada EJB, https://issues.jboss.org/browse/EJBTHREE-1756

Ref:

  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/pt-BR/JBoss_Enterprise_Application_Platform/5/pdf/Security_Guide/JBoss_Enterprise_Application_Platform-5-Security_Guide-pt-US.pdf