我的web.xml文件中有以下安全约束,以使help.jspx页面仅对某些特定用户可用。
<security-constraint>
<web-resource-collection>
<web-resource-name>protected</web-resource-name>
<url-pattern>/faces/help</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin_role</role-name>
</auth-constraint>
</security-constraint>
如您所见,faces/help是受保护的模式。但让我解释一下 ADF 中发生了什么。
- 如果我运行home.jspx我会得到这个网址: http: //mydomain.com/something/faces/home
- 然后,如果我导航到about.jspx页面,该 url 仍将显示相同的http://mydomain.com/something/faces/home
- 现在,如果我导航到help.jspx,该 url 将显示上一个页面名称“关于” http://mydomain.com/something/faces/about ,因此即使我没有登录也可以查看help.jspx还在。
- 不是这样,现在如果我再次导航到home.jspx ,url 将显示上一页“帮助” http://mydomain.com/something/faces/help,所以在我之前会被要求登录能够访问“主页”页面。