Problemas e dúvidas com JAAS

Pessoal,

Alguem por favor pode me ajudar a usar o JAAS? Até agora nao achei nenhum tutorial bom e que me fizesse enteder, tambem nao consegui colocar pra rodar nenhum exemplo que ja pesquisei até agora, não acho nada interessante na internet, se alguem puder me indicar um tutorial legal ou puder me mostrar um passo a passo aqui do que devo fazer.
ja vi alguns exemplos que utilizam apenas o web.xml para fazer a verificação e autorização, mas ae nao sei onde vai entrar o meu banco de dados para pegar e validar com meus usuarios do BD, tentei fazer um exemplo aqui utilizado o Realm do tomcat, mas quando faço isso e tento executar minha aplicação de teste ele me pede login e senha do tomcat, me dizendo que a autenteicação é obrigatória. Nao sei o que faço, ja criei a classe usuario e a classe role implementaando Principal, ja mexi no tomcat, ja alterei o web.xml e nada.
Como faço para utilizar o JAAS, pra que ele valide meu usuario, que vai ter login e senha e tipo cadatrado no Bd e depois quero permitir que algum usuario acesse alguma coisa ou nao.
Eu uso o Struts e o Hibernate.
Estou com bastante duvida no LoginModule.
Se alguem puder me ajudar, agradeço.

P.S:Nao posto alguns codigos, pq ja fiz bastante coisa, alterei o catalina.bat, server.xml, web.xml, context.xml, criei classes, etc.
Se kiserem posto alguns em párticular. Conto com a ajuda de voces.

Mais uma coisa: alguem conhece o NEO Framework, aconselham seu uso?

Olá jeffcosta, vc pode olhar o tutorial disponibilizado aqui no guj, http://www.guj.com.br/article.show.logic?id=184 é mt bom

Abraço

[quote=saulods]Olá jeffcosta, vc pode olhar o tutorial disponibilizado aqui no guj, http://www.guj.com.br/article.show.logic?id=184 é mt bom

Abraço[/quote]

Esse artigo é muito bom, porém cabe lembrar que nesse artigo é criado um login module customizado. Na verdade não é um tutorial de JAAS, mas sim de como criar um login module para JAAS.

Um artigo muito bom é do Jeveaux, que é nosso colega aqui no GUJ:
http://www.jeveaux.com/blog/2009/autenticacao-e-autorizacao-jaas-com-jdbc-realm/
http://www.jeveaux.com/blog/2009/um-exemplo-completo-com-jaas/
http://www.jeveaux.com/blog/tag/jaas/

No início JAAS vai te parecer bem complexo. Mas logo que você entender bem os conceitos por trás dele verá que não existe coisa melhor para trabalhar com segurança.

Vou dar uma olhada e posto minhas duvidas aqui, valeu pelas dicas.
Ja ateh dei um olhada no tutorial daqui, mas nao consegui rodar, pois uso o Hibernate, mas vou tentar novamente.
Voces tem alguma ideia porque quando o rodo o meu projeto após mexzer no server.xml do tomcat me pede senha?
Qual a melhor maneira de trabalhar com JAAS: xml ou login module? Ou eh a mesma coisa
Espero que JAAS se mostre bem facil depois de um tempo mesmo
Valeu por tudo

Pessoal,

Estou tenado implementar o exemplo do jeveaux - http://github.com/jeveaux/project-to-learn-jaas-complete, fiz tudo como ele mostra para testar, modifiquei o web.xml, criei os diretório e os jsps, tudo ok, executo o projeto sem problema nenhum. Porém quando clico em algum link de uma area protegida, como no exemplo, eu sou direcionado para um pagina de login,a té aí tudo bem, sem problemas, mas qual é o login e a senha? Não vi isso em nenhum lugar desse exemplo, existe algum login e senha padrao do JAAS? Action da minha pagina de login eh o J-security_check, sei que isso é padrao do JAAS, mas tenho que criar algum arquivo para validar o login no BD? Algo assim?
Se alguem puder me ajudar, agradeço.

O JAAS faz autenticação da forma que você escolher, seja banco de dados, certificado, xml, LDAP… nesse caso do Jeveaux é configurado para buscar os dados do usuário em uma tabela do banco de dados. Sendo assim você informa lá qual a tabela e colunas onde estão os dados de seus usuários.

mas onde eu vou informar isso?
Eu vi que ele coloca um tag com realm-name, ams eu noa criei nenhum realm, tambem nao vi ele criar isso, onde altero isso?

Você não leu o tutorial, não é?

Eu li o tutorial sim, li os tres links que voce me mandou, mas no tutorial que to falando (to learn jaas complete) ele nao ensina a criar o realm, só em outro tutorial, mas o problema eh que não uso GlassFish e como disse nos topicos acima, eu estou com problemas pra criar o realm no tomcat, depois que insiro as linhas no meu server.xml, ao executar o projeto o tomcat me pede uma senha.

Pessoal,

Lendo e tentando testar o tutorial daqui do GUJ mesmo, está com alguns problemas, mas o mais estranho é essa linha:

conn = ds.getConnection();

Esse metodo fica dentro do metodo login(), essa linha esta com erro, nao estou vendo nenhum, mas o NetBeans me diz que nao encontra o simbolo. O que pode ser isso?

Pessoal,

Achei mais um tutorial aqui an internet e até agora nada. Nenhum exemplo até agora me mostrou exatamente o que eu queria, achei todos muito incompletos. Seguindo esse último tutorial, eu fiz assim:

Criei um projeto web normal, sem nada demais, depois eu modifiquei o meu web.xml, acrescentei as seguintes linhas:

[code]

Páginas Protegidas - Admin
/protegidas/*


admin

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Páginas Protegidas - User</web-resource-name>
        <url-pattern>/visualizacao/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>user</role-name>
    </auth-constraint>
</security-constraint>

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<login-config>
    <auth-method>FORM</auth-method>
    <form-login-page>/login.jsp</form-login-page>
    <form-error-page>/loginInvalido.jsp</form-error-page>
</login-config>

<error-page>
    <error-code>403</error-code>
    <location>erro403.jsp</location>
</error-page>[/code]

Depois eu criei login.jsp, que ficou assim:

[code]


JSP Page




Login


Senha




[/code]

Fui no diretório do Tomcat e editei o meu server.xml, colocando as seguintes linhas:

<Realm className="org.apache.catalina.realm.JDBCRealm" driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost/catalogo" connectionName="root" connectionPassword="" userTable="usuario" userNameCol="login" userCredCol="senha" userRoleTable="tipo_usuario" roleNameCol="tipo" />

Reiniciei tudo aqui e nada.
Olhando os meus codigos, voces conseguem me dizer o que esta falando fazer? Não entendi ainda como esse Relam vai acessar meu BD e pegar o login e senha, nao entendi onde ele vai verificar se tal usuario tem acesso ou nao, achei bem incompleto esse tutorial, assim como todos os outros que encontrei ateh agora.
Fazendo tudo que fiz, quando tento rodar a aplicação, aparece um erro no build-impl.xml, falando que o modulo nao foi implementado. O meu web.xml, tambem esta com erro (Invalid content was found starting with element ‘for-login-page’)
Por favor, conto com a ajuda de voces, estou nisso ha uma semana e ateh agora nao consegui nenhum progresso, como disse tudo que estou encontrado estou achando bem fraco e incompleto.

Desde ja agradeço.