Pessoal,
Seguindo umas dicas que peguei aqui, estou tentando fazer um pequeno exemplo usando JAAS e JBoss. Mas embora tenha lido alguns artigos, não consigo fazer funcionar.
Fiz os seguintes passos:
- Declarei um security domain no login-config.xml do jboss, que ficou assim:
<application-policy name = "jaas-webapp-domain">
<authentication>
<login-module code = "org.jboss.security.auth.spi.DatabaseServerLoginModule"
flag = "required">
<module-option name = "unauthenticatedIdentity">pirata</module-option>
<module-option name = "dsJndiName">jdbc/jaasDS</module-option>
<module-option name = "principalsQuery">SELECT PASSWORD FROM USERS WHERE LOGIN=?</module-option>
<module-option name = "rolesQuery">SELECT LOGIN, 'Roles' FROM ROLES WHERE LOGIN=?</module-option>
</login-module>
</authentication>
</application-policy>
Depois, modifiquei meu web.xml, que ficou assim:
[code]
<security-constraint>
<web-resource-collection>
<web-resource-name>página dos pebas</web-resource-name>
<url-pattern>/peba/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>peba</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<role-name>peba</role-name>
</security-role>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>jaas-webapp-realm</realm-name>
</login-config>[/code]
e também adicionei o jboss-web.xml dentro de WEB-INF. Ele está assim:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<security-domain>java:/jaas/jaas-webapp-domain</security-domain>
</jboss-web>
O que achei estranho é que eu tentei escrever as querys de usuário/roles ERRADAS, para ver se dava algum erro de sql… mas nada aconteceu. Por isso acho que o jboss nem tomou conhecimento do novo security domain que criei…
O IE chega a me mostrar a janela para eu digitar login/senha, mas não autentica.
Quando entro no jmx-console tento procurar por java:/jaas/jaas-webapp-domain mas não há nenhuma referência. Será que preciso modificar mais alguma conf do jboss?
Se alguém quiser posso mandar os fontes da minha app… é bem pequena, só para testes…
Espero que alguém consiga me dar uma direção.
Obrigado.