Pessoa Seguinte,
Estou com algumas dúvidas ferrenhas, antes de mais nada, gostaria de falar que já fiz diversas leituras.
ate onde li, existem 3 passos usando-se o JDBC Realm do glassfish.
fonte: http://www.jeveaux.com/blog/2009/autenticacao-e-autorizacao-jaas-com-jdbc-realm/
1 - Usuario/Senha (tabela 1)
2 - Usuario 1 - ? Grupo (tabela 2)
3 - Grupo 1 - N Role (WEB-INF/sun-web.xml)
uma dúvida, o usuário pode ter mais de um grupo ?
o meu problema esta no terceiro passo, preciso que esta parte esteja dentro do banco também, e não somente no modulo WEB, estou fazendo proteção declarativa, nos EJBs, portanto preciso das roles já dentro do container EJB. e não só no modulo web.
na verdade a tabela 2, para mim poderia ser jogada fora, o que precisava mesmo era, Usuario 1 - N Roles, e que isto estivesse no banco.
Não consegui entender como fazer isso com o JDBC Realm.
o meu problema é que estou usando nos EJBs o @RolesAllowed, etc etc, por isso preciso isso dentro do container EJB, e não somente no web.xml
Outra coisa que tentei foi criar o meu próprio LoginModule JAAS, fiz boa parte, porem tem algumas duvidas.
1º como adicionar as roles de um usuário ?? vi um tutorial aqui do GUJ (clique aqui para ver), mas não entendi esta parada das roles e da autenticação ser colocada no mesmo lugar. Como vai diferenciar o que é role e o que é o usuario ?? eu fiz um LoginModuleSimilar, coloque meu Usuario (que implementa principal) no subject.getPrincipals(), fiz o mesmo com as roles deste usuario, e coloquei no mesmo lugar, mas não sei se esta 100%.
2° e mais importante, COMO no GLASSFISH eu configuro para ele usar o meu LoginModule personalizado ? para a segurança ?? tentei fazer um customrealm mas não deu certo =//