Bom, dando sequencia a um post antigo, neste post explicarei como utilizar o JAAS com banco de dados.
Este post parte da premissa que o leitor ja esteja familiarizado com o JAAS (post anterior), e serve apenas para o container Tomcat.
Antes de tudo, a estrutura do JAAS em um banco de dados deverá haver uma tabela ou view com a seguinte estrutura:
- uma coluna contendo o login;
- uma coluna contendo a role;
Para o exemplo, vamos chamar esta tabela de tabela_roles.
Deverá também haver uma outra tabela ou view com:
- uma coluna contendo o login;
- uma coluna contendo a senha;
Esta tabela será a tabela_usuarios.
A partir desta estrutura, é possível utilizar o JAAS com banco de dados, configurando o arquivo context.xml, incluindo a seguinte tag:
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99" driverName="nome_do_driver" connectionURL="jdbc:url_da_conexao?user=user_banco&password=senha_banco" userTable="tabela_usuarios" userNameCol="nome_coluna_login" userCredCol="nome_coluna_senha" userRoleTable="tabela_roles" roleNameCol="nome_coluna_role"/>
Um ponto importante é que a coluna de login deverá ter o mesmo nome, nas duas tabelas.
Espero ter ajudado.
Abraço!