0

我的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 中发生了什么。

  1. 如果我运行home.jspx我会得到这个网址: http: //mydomain.com/something/faces/home
  2. 然后,如果我导航到about.jspx页面,该 url 仍将显示相同的http://mydomain.com/something/faces/home
  3. 现在,如果我导航到help.jspx,该 url 将显示上一个页面名称“关于” http://mydomain.com/something/faces/about ,因此即使我没有登录也可以查看help.jspx还在。
  4. 不是这样,现在如果我再次导航到home.jspx ,url 将显示上一页“帮助” http://mydomain.com/something/faces/help,所以在我之前会被要求登录能够访问“主页”页面。
4

1 回答 1

1

我找到了刷新 URL 的方法,以便新 URL 获得新的页面名称。转到您的任务流并添加

<redirect/>

在您希望刷新其 URL 的视图标记内。

 <view id="help_id">
   <page>/help.jspx</page>
   <redirect/>
 </view>

这是 Jdev 帮助中关于重定向标签的内容:

Redirect:如果 ADF 控制器应该为视图活动请求发出 HTTP 重定向,请选择 true。重定向的请求会为视图活动创建一个新的浏览器 URL。不再使用原始视图 URL。

于 2014-02-17T21:50:13.083 回答