quarta-feira, 23 de maio de 2012

Tutorial - Configuração JAAS JBoss 6.1

Fala pessoal,

Vou descrever um pequeno tutorial de como configurar o JAAS no JBoss 6.1 Final e capturar o usuário em sua aplicação após a autenticação. Como é meu primeiro tutorial, dúvidas e sugestões são bem vindas!

1º Passo: Alterar o arquivo "jboss-6.1.0.Final/server/default/conf/login-config.xml" adicionando a política de autenticação utilizada na apliacação

    
        
            java:/lugarcerto
            SELECT U.SENHA FROM USUARIO U WHERE U.EMAIL=?
            SELECT P.DS_PERFIL, 'Roles' FROM USUARIO U
       INNER JOIN PERFIL P ON U.PERFIL_ID_PERFIL = P.ID_PERFIL WHERE U.EMAIL=?
     MD5
     hex
        
    
Pontos importantes:
Linha 1: nome da configuração
Linha 3: Nome da classe que implementará o processo de login, neste caso utilizaremos uma classe do próprio jboss, "DatabaseServerLoginModule". Informarei no final do tutorial um link para outro tutorial, no qual a classe login module é implementada.
Linha 4: Nome do JNDI Name
Linha 5: SQL para buscar a senha forme um identificador, no caso foi utilizado o email como identificador do usuário.
Linha 6: SQL para buscar as roles(papéis) necessários para autenticar no sistema. Caso o usuário no banco não tenha o papel configurado, o acesso não é liberado. Estas roles serão configuradas mais a frente, no arquivo web.xml
Linha 8 e 9: Definição do algoritmo e enoding referente a senha. Isto é muito importante, caso o encoding do Hash utilizado para gerar a senha não seja o mesmo configurado neste arquivo, a autenticação não será liberada!