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>
<security-role>
<description>Administrador do Sistema</description>
<role-name>admin</role-name>
</security-role>
<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 bloquei este acesso.
Alguém sabe apontar o que estou fazendo de errado?
Valeu