Problema em Autenticação via JAAS para acessar um EJB3  XML
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Autor Mensagem
leonickel
JavaChild

Membro desde: 28/08/2007 19:51:12
Mensagens: 141
Localização: São Paulo - SP
Offline

Fala galera blz?

Seguinte, estou querendo implementar uma autenticação via JAAS no meu EJB3 e para prover esta autenticação eu já tenho algum contato pois já mexi anteriormente com ela para fazer pro meu Web Services. No meu Bean eu coloquei a anotação @SecurityDomain("minhaApplicationPolicy") e esta está referenciando um bloco "application-policy" que inseri no arquivo login-config.xml do JBoss que está em $JBOSS_HOME/server/default/conf. Por sua vez este bloco application-policy referencia a minha classe de autenticação e esta classe está extendendo a Classe DatabaseServerLoginModule sendo que esta última já extende a UsernamePasswordLoginModule. Nesta minha classe sobrescrevo os métodos getUsersPassword() e getRoleSets(). Ate aí tudo beleza, a parte server desta arquitetura está funcionando perfeitamente para o meu Web Service. Porém quando eu preciso que uma aplicação client, um Sistema Web por exemplo, se autentique neste modelo, não estou conseguindo. Andei dando uma boa pesquisada na net sobre clients para JAAS e talz e não achei algum que me ajudasse muito neste conceito. O que eu achei foi algumas properties a mais para usar na hora de realizar o lookup do meu Bean no JNDI. Segue as properties:

Os valores passados nelas chegam no meu método getUsersPassword() exceto o valor do domain da aplicação. O mesmo jeito que uso para resgatar o realm(domain) via Web Service não está funcionando para resgatar o domain que está na property. Estou tentanto pegá-lo usando:

Se eu passo o domain manualmente a PrincipalsQuery é realizada com sucesso, a senha que está armazenada no banco volta sem problemas, porém no final ele acaba nao autenticando e dando a seguinte exception:


Será que existe um meio mais fácil de prover um client para autenticar no meu SessionBean via JAAS? Ou então voces tem alguma idéia do que falta implementar neste meu modelo???

Estou usando BusinessDelegate e ele chama o ServiceLocator para realizar o lookup do meu bean na JNDI e assim resgatar estas properties configuradas.

OBS: Sei que falei de muitas coisas de uma vez só, então se voces quiserem q eu explique com mais detalhes alguma parte, é só mandar o post

Agradeço muito se voces puderem me ajudar com este problema. Se voces souberem de algum tutorial bom sobre como implementar um Client usando mais ou menos esse modelo já ajuda bastante

Leonardo Nickel
 
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Ir para:   
Powered by JForum 2.1.8 © JForum Team