我正在使用Tomcat 7 JSP应用程序,并且正在使用应用程序级别身份验证。即用户登录我检查数据库的表单。然后我在会话中设置一个用户bean来登录它们。
当时似乎合情合理。但现在我在质疑自己......我陷入了细节之中。
e.g。我检查用户是否登录到每个安全页面。如果没有,我会重定向到登录页面。然后登录将它们返回到安全页面。这会导致会话超时。
e.g。用户编辑表单(基本CRUD)。然后电话铃响了。通话结束后,他们提交表格但没有有效的会话。该操作会重定向到登录名。但登录后,表单变量为空,并在表格中创建一个空行...
我可以想办法处理这种情况,但现在我想知道这是否是一场疯狂的追逐。还有更好的方法吗?
寻找替代方案。 感谢
答案 0 :(得分:2)
只需2美分。 继承人我会做什么。
1)Well instead of just relying on Session Variable alone ,
you can create a cookie to log other details
喜欢
UserName,lastAccessedPage等。
2)Don't not handle authentication at the JSP , rather move the logic to a Servlet Filter
。
理想情况下,应该检查会话是否对所有请求都有效。
3)所以在提交表格期间When session times out
,仍然提交参数,
只是这将被过滤器截获。
在过滤器中,您可以使用create a temp session variable
之类的密钥userid_pagetype (to make it unique)
来存储所有请求数据(即请求参数和请求参数值)。“
使用此设置,您可以在再次登陆表单时填充字段