Olha…
Eu estou trabalhando em um projeto no qual estou tendo que implementar a autenticação JAAS. Desenvolvi de um jeito para que seja o mais configurável possível, não só com relação à LoginModules, mas também com relação à fonte das configurações para os módulos de login e tudo mais. Tive também que implementar um novo LoginContext, para o tratamento de alguns métodos que não foram previstos (como por exemplo, troca de senha e envio de senha para e-mail).
A idéia final é que a maioria das configurações possa ser feita em tempo de execução, ou seja, através da própria aplicação eu consiga definir quais são as configurações. Ou, no máximo, fazendo apenas um redeploy da própria aplicação, sem parar o servidor.
Essa parte já consegui fazer funcionar. Quando minha aplicação “sobe” no jboss, com ele já rodando, tudo funciona que é uma beleza. O problema é se o servidor jboss é iniciado com a aplicação dentro dele ela desconfigura configurações jaas do próprio servidor de aplicações, fazendo com que alguns serviços (como o jmx-console) deixem de fazer a autenticação padrão que eles utilizam.
O que eu não achei em lugar nenhum foi como utilizar configurações personalizadas. Criei algumas subclasses da classe Configuration, que pelo que eu percebi é uma classe “global” em cada instância de servidor, o que eu já achei estranho (deveria ser por aplicação). Mesmo instanciando essas classes (por exemplo, uma delas lê as configurações que ficariam no login-config.xml em um outro arquivo dentro da minha aplicação), ele continua sobrescrevendo o Configuration principal.
Já procurei por bilhões de tutoriais na internet, mas mesmo assim não consegui resolver o problema. Todos os tutorias que eu encontro ele não chega nem a mexer com a possibilidade de extensão de Configuration. Já baixei o fonte, javadoc e tudo mais, só que não consegui resolver esse problema.
Bom, resumindo: sim, é possível uma configuração totalmente feita pela aplicação dos módulos e configurações JAAS; a questão é como fazê-lo sem matar a configuração existente no Jboss.
Alguém tem algum palpite?