Pra que criar um módulo personalizado do JAAS

Olá pessoal!

Bem, eu estou estudando sobre JAAS e vi vários tutoriais que utilizam o realm para autenticação como http://www.jeveaux.com/blog/2009/autenticacao-e-autorizacao-jaas-com-jdbc-realm/. No entanto, encontrei outros que criam um módulo personalizado do JAAS para autenticação como http://blog.celestrini.com.br/?p=1.

Gostaria de saber do pessoal que usa módulo personalizado do JAAS, para qual necessidade eles criam tal mecanismo e pq somente a utilização do realm, anotações nas entidades e verificação por papel em action e EJB não foi suficiente para fazer autorização e autenticação em um sistema java.

Obrigada,

A vantagem do JAAS é que uma vez você estando autenticado em um realm, tudo que você fazer é possível de ser “trackeado” de acordo com o teu usuário. Assim, é possível verificar permissões para fazer praticamente todas as funções em um application server, por exemplo: Posso eu ver o conteúdo X de uma página? Posso chamar o método Y de um EJB? etc

Ps.: honestamente, eu acho uma b**** total o JAAS, mas cuidado ao dizer essas coisas aqui no GUJ, a quantidade de fanboys da Sun fazem com que você seja exorcizado caso não queira seguir os padrões que a galera da sun criou :S

Oi Leozin!

Obrigada pela resposta! No entanto, não era exatamente isso que eu queria saber. Na vdd, as duas formas q eu citei é utilizando JAAS, mas eu queria saber quais os benefícios em usar um módulo personalizado ao invés de só usar o realm. Compreendo que para LDAP e AD, seja necessário usar um módulo personalizado, mas queria saber qual realmente os benefícios se tratando de uso de banco de dados.

Abraços!

nada?

Normalmente eu uso os realms próprios do JAAS, a menos que eu precise de algo muito excepcional. Outro dia precisei fazer autenticação via SOAP, e como o JAAS por padrão não possui realm para isso criei meu próprio módulo.

O JAAS possui sim módulos para uso com LDAP/AD. Não é necessário criar um módulo customizado.

Quanto as anotações, isso não tem nada a ver com a escolha de usar um realm padrão do JAAS ou usar o seu personalizado. O JAAS funciona com autenticação e autorização. Autenticação é quando você autentica o usuário a partir da senha, certificado digital ou qualquer outra coisa. Autorização é quando você diz se um usuário tem ou não acesso a determinada coisa. As anotações fazem parte apenas da autorização, sendo que se você anotar um método com @RollesAllowed ele vai verificar sempre se o usuário atual possui tal role.

Dê uma estudada em subjects, principals e roles no JEE Tutorial. É nem explicado e fácil de entender.

Abraços

Opa garcia-jj! Obrigada pela resposta.

Quanto ao seu comentário sobre as anotações, eu sei disso. Agora que li parece que fica meio ambíguo, mas a minha intenção era mostrar em detalhes os contextos comparados.

Eu acredito que devemos ser um pouco críticos quando encontramos algo na internet. Quando se cita JAAS na internet, logo vem uma infinidade de posts com módulos personalizados de login, sendo que na maioria das vezes isso nem é necessário. Obrigada pelo esclarecimento.

Abraços,