JAAS não redireciona para página de erro

0 respostas
T

Estou implementando segurança numa aplicação web (JSF + OC4J + JAAS) e estou restringindo o acesso a uma certo grupo de páginas. Acrescentei o seguinte ao meu web.xml:

<security-role>
    <description>Usuário Cadastrado</description>
    <role-name>user</role-name>
</security-role>
Administrador do Sistema admin
<security-constraint>
    <web-resource-collection>
        <web-resource-name>Acesso ao sistema</web-resource-name>
        <url-pattern>*.xhtml</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    	<role-name>admin</role-name>
        <role-name>user</role-name>
    </auth-constraint>
</security-constraint>

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Acesso restrito ao administrador</web-resource-name>            
        <url-pattern>paginas/manager/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>admin</role-name>
    </auth-constraint>
</security-constraint>  

<login-config>
    <auth-method>FORM</auth-method>
    <form-login-config>
        <form-login-page>/paginas/login/Login.xhtml</form-login-page>
        <form-error-page>/paginas/login/Erro.xhtml</form-error-page>
    </form-login-config>
</login-config>

O caso é que, quando a aplicação é acessada por um usuário que não está logado, ela redireciona para a página de login (comportamento esperado). Mas, quando um usuário com a role “user” tenta acessar as páginas restritas ao administrador, a aplicação não bloqueia este acesso.

Além disso, no log do servidor encontro a seguinte mensagem:

for group=[JAZNGroupAdaptor: admin] there’s no matching role found.

ou seja, o servidor reconhece que aquele usuário não tem autorização para acessar aquela parte da aplicação.

Alguém sabe apontar o que estou fazendo de errado?

Valeu :wink:

Criado 23 de maio de 2008
Respostas 0
Participantes 1