gpt4 book ai didi

jsf-2 - 如何通过 JSF 导航规则重定向或输入 URL 来检测用户是否已到达页面?

转载 作者:行者123 更新时间:2023-12-04 19:14:47 25 4
gpt4 key购买 nike

JSF中是否有任何方法可以用来确定用户是否通过JSF的导航规则到达页面或用户是否直接输入了URL以到达该页面?

实际上,我想通过直接在浏览器中键入 URL 来阻止用户直接转到某个页面,而不是我想限制用户使用应用程序导航栏转到某个页面。

最佳答案

有一个方法:检查referer是否存在标题(是的,拼写错误)。

if (externalContext.getRequestHeader("referer") == null) {
// User has most likely accessed the page by directly typing the URL.
}

或者
<h:panelGroup rendered="#{empty header['referer']}">
<!-- User has most likely accessed the page by directly typing the URL. -->
</h:panelGroup>

然而,对于那些巧妙地使用您网页中的链接,但使用一些隐藏 referer 的过度热心的代理/防火墙/安全软件的用户来说,这将失败。完全标题。

您可能需要考虑将页面放置在 /WEB-INF 中,从而使用户永远无法直接访问该页面。文件夹并将其用作由 POST 请求执行的条件包含(如果需要,使用 ajax)。例如。
<h:form>
<h:commandLink action="#{bean.showPage}" />
</h:form>

<h:panelGroup rendered="#{bean.showPage}">
<ui:include src="/WEB-INF/includes/foo.xhtml" />
</h:panelGroup>

关于jsf-2 - 如何通过 JSF 导航规则重定向或输入 URL 来检测用户是否已到达页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10994666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com