繁体   English   中英

jsf中的网页认证

[英]webpage authentication in jsf

我在识别会话超时页面和直接导航的页面时遇到问题...

用户将首先基于其进入信息页面的搜索来填写表格并提交。 由于某种原因,如果他尝试键入信息页面的URL而不是通过搜索页面进入,我如何限制他? 我尝试在会话中使用指示器变量,但是这与会话超时发生冲突。...如何区分是会话超时还是直接导航? 有人可以对此进行说明,并指出正确的方向吗?

据我了解,您的问题是:用户不能直接访问特定页面,例如Page1.xhtml。 他应该首先在page2.xhtml上填写一个表格,然后由服务器本身将其定向到该页面。

解:

  1. 您可以将page1.xhtml放在webapp的web-inf目录中,这将限制直接访问您的网页。

  2. 您可以使用web.xml的securityConstraint标记并利用容器安全性来限制直接访问。

您可以测试服务器端会话超时,如下所示:

if (request.getRequestedSessionId() != null && !request.isRequestedSessionIdValid()) {
    // The session has been timed out (or a hacker supplied a fake cookie).
}

这里的requestHttpServletRequest ,您可以在JSF上下文中从ExternalContext#getRequest()或者实际上,可以通过仅向下转换ServletRequest参数在Filter内部获得该request

作为完全不同的替代方法,您还可以将定时的ajax轮询引入为“心跳”,因此只要用户在浏览器中打开页面,会话就不会过期。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM