我想限制直接访问我的应用程序中的某个页面。只有在应用程序将用户重定向到这些页面时,才能访问这些页面。
所有重定向都是通过ExternalContext#redirect(url)
方法完成的。
用户可以使用后退和前进按钮,也可以通过按F5或浏览器的刷新按钮刷新页面。我想要的是用户无法保存或标记某些页面的URL,也无法复制那些重新分发的URL并粘贴并通过浏览器的地址栏进行访问。
以下是案例:
可行吗?任何指针都对我很有帮助。
答案 0 :(得分:0)
我认为你无法从JSF那里做到这一切 你明显的选择是使用Javascript 我从来没有在浏览器中使用Javascript禁用书签选项的概念。但是,如果在新窗口中打开页面,则始终可以禁用地址字段。
答案 1 :(得分:0)
你可以用
解决它JSF导航处理程序 - 从某个上一页设置会话属性,并在一段时间后使用计时器使该值到期。从Handler impl检查属性的值并限制访问权限,例如如果值不存在,则重定向到其他页面。
您可以使用Web框架实现类似的行为。实施受控导航是大多数WEB FX中的基本功能,例如JBoss Seam对话或Spring Web Flow控制的导航实现。