Estou tendo problemas para ter acesso à algumas páginas de minha aplicação.
eu possuo 2 roles
system-user
admin
definidas no web.xml
sendo que system-user pode tudo menos acesso à uma pasta /admin/ dentro de meu contexto
A conexão é toda por https e a autenticação via FORM do tomcat está ok inclusive com digest
infelizmente consigo acessar todo o contexto com ambas as roles
Meu web.xml possuí 2 security constraints, uma que libera acesso à /admin/ para role admin
<security-constraint>
<web-resource-collection>
<web-resource-name>Meu projeto</web-resource-name>
<url-pattern>/admin/</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
E a outra constraint contendo os demais detalhes
<security-constraint>
<web-resource-name>Meu projeto</web-resource-name>
<url-pattern>/pages/</url-pattern>
<url-pattern>/formpages/</url-pattern>
<url-pattern>/errorpages/</url-pattern>
<url-pattern>/img/</url-pattern>
<url-pattern>/scripts/</url-pattern>
<url-pattern>/styles/</url-pattern>
<url-pattern>/page_assembler.jsp</url-pattern>
<url-pattern>/right_side.jsp</url-pattern>
<url-pattern>/left_side.jsp</url-pattern>
<url-pattern>/login.jsp</url-pattern>
<url-pattern>/autherror.jsp</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>system-user</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
especifiquei também ao final de meu xml estas tags que não sei realmente se são necessárias pois não constam na documentação do tomcat7 para jdbcRealm e são mostradas sim para o contexto do MemoryRealm + tomcat-users.xml
ja testei também sem elas e nada…
<security-role>
<role-name>system-user</role-name>
</security-role>
<security-role>
<role-name>admin</role-name>
</security-role>