JAAS Autorização

Senhores,

estou utilizando o JBoss e estou com dúvidas sobre autorização. A autenticação está funcionando corretamente.

Tenho duas roles A e B.

A role A pode acessar “a.do e b.do”

Já role B pode acessar “a.do e c.do”

Quando logo com um usuário que esteja relacionado com a role B ele consegue acessar a página b.do depois do login.

Alguém sabe o por que ou tem algum artigo que explique sobre autorização com o JAAS no JBoss?

Bruto

Tente aqui:

http://docs.jboss.org/jbossas/admindevel326/html/ch8.chapter.html

Então Li. Mas não consegui encontrar o que esta de errado na minha aplicacao.

Mas você já conseguiu fazer o que falei?

Obrigado.

Oi Amigo,

entendo o que você fala de ensinar o JBoss. Estou colocando a seguir o que já fiz na aplicação para buscar deixar mais claro o problema que estou enfrentando e se puder ajudar agradeceria e muito.

O JBoss que estou utilizando é o JBoss 4.0.5.GA com o jdk 1.4

Realizei as seguintes configurações:

1 - Arquivo web.xml



restricao
/restricao/a.do
/restricao/b.do

POST
GET


restricao

FORM /logon.do /logon.do Restricao restricao

2 - No struts-config.xml mapeio o logon.do para chamar a action LoginAction

3 - No arquivo login-config.xml da pasta server\default\conf inseri as seguintes informações




jboss.jca:service=LocalTxCM,name=jdbc/fabrica
java:jdbc/teste
Select password from principal where user =?
Select role ‘Roles’, group ‘RoleGroups’ from roles where user =?



4 - Criei um arquivo jboss-web.xml no WEB-INF da aplicação com a seguinte informação

<?xml version="1.0" encoding="UTF-8"?> java:/jaas/testejaas

5 - Na base adicionei um usuario teste ao role restricao

Agora estarei descrevendo os passos que estou executando nos testes:

1 - Tento acessar o link /restricao/a.do
A aplicação verifica que é uma página restrita e redireciona para o login.do, no qual chama LoginAction. A LoginAction verifica que o j_username e j_password está nulo e manda para a página login.jsp

2 - Informo o username e password e dou submit no form para o login.do
A classe LoginAction recebe estes parâmetros e realiza a autenticação. Até funcionando corretamente.
No struts-config.xml o sucesso da action login.do redireciona para a action a.do.

3 - Chamando a action b.do
Quando tento chamar a action b.do da página do a.do, novamente é redirecionado para o login.do para realizar autenticação. E é nesse ponto que acho que existe algum problema, pois acredito que como já realizei a autenticação o container deveria verificar que não necessito novamente chamar o login.do para acessar a action b.do. Ou seja, acredito que ele só deveria realizar a autorização e isso não está funcionando.

Tomará que esteja mais claro e que alguém consiga dar uma luz para este problema.

Desde já obrigado.