Spring Security Custom Filter

5 respostas
M

Galera, bom dia.

Atualmente estou cuidando da parte de autenticação do usuario em uma aplicação e estamos utilizando o Spring Security.

Qual é o problema?
Seguinte, atualmente eu tenho uma base de dados aonde contem o seguinte, Usuario, Senha, Serviço.

Uma vez que o usuario preenche o form de login, eu preciso buscar essas informações em um banco, e validar se ele tem acesso a esse determinado serviço que ele esta tentando logar.

Após verificar isso, caso positivo, eu preciso fazer uma segunda verificação em outra base de dados, desse serviço que ele esta apto a usar, para saber qual é o perfil dele, dando assim, acesso apenas a determinadas paginas?

Alguem tem alguma ideia de como fazer isso utilizando o SpringSecurity ou uma ideia melhor?

Agradeço desde já toda a atenção.

5 Respostas

FernandoFranzini

Eu use a versão 2.x do spring security e naquela versão não dava para fazer isso…ja não sei se na versão nova é possível. Unica coisa que eu seu é que eu tive que fazer uma autenticação toda customizada e perdi muito tempo estudando as classes do spring para chegar la! Resultado, acabei abandonando e fazendo na unha mesma usando JAAS, uma vez que estava demorando muito mas para tentar customizar ele, do que fazer o meu próprio.
A base do spring security é configurar um SELEC para usuários e outro para ROLES no qual o framework usa para automaticamente logar o usuário em 1 banco de dados!
Segue algumas dicas…http://fernandofranzini.wordpress.com/2009/09/09/autenticacao-e-autorizacao/
Não sei se vc usa, mas no JBOSS é possível via container configurar autenticação em múltiplos bancos…talvez seria uma opção.
Vc ta usando oq?

M

Opa Fernando agradeço a resposta.

Então, continuo pesquisando se existe alguma opção de fazer isso com o Spring3Security, mas para conhecimento você teria algum material sobre essa autenticação em multiplos bancos usando o JBoss?

Agradeço novamente a atenção.

FernandoFranzini
  • Tutorial da JBoss

Multiple login modules can be chained together in a stack, with each login module providing both the authentication and authorization components. This works for many use cases, but sometimes authentication and authorization are split across multiple user management stores.

http://docs.jboss.org/jbosssecurity/docs/6.0/security_guide/html/Login_Modules.html

  • No Livro JBoss In Action tb ensina a fazer isso em varios capitulos…

Sobre o spring security tenho quase certeza que não da…eu li quase tudo sobre ele, li o spring in action e usei durante uns 2 anos. Ele é aquilo que eu falei…vc criar uma tabela de usuarios, roles, configura os filtros e passe para ele o SQL select de user e roles…ela faz isso em 1 banco só.

Eu te aconselho ir por 3 caminhos
1 - Fazer o seu autenticador usando servlet filter.
2 - Fazer o seu autenticador usando JAAS no container.
3 - Fazer no JBoss usando esta extensão proprietária.

M

Fernando novamente obrigado.

Estarei lendo e estudando o link que foi passado assim como as alternativas e assim que conseguir finalizar eu postarei qual foi a ação tomada junto com a solução.

Agradeço novamente toda a atenção.

Marcelo

FernandoFranzini

Bons estudos :wink:

Criado 1 de junho de 2011
Ultima resposta 1 de jun. de 2011
Respostas 5
Participantes 2