选项重新进行JSP认证

时间:2013-03-06 14:45:19

标签: jsp authentication tomcat servlets

我正在使用Tomcat 7 JSP应用程序,并且正在使用应用程序级别身份验证。即用户登录我检查数据库的表单。然后我在会话中设置一个用户bean来登录它们。

当时似乎合情合理。但现在我在质疑自己......我陷入了细节之中。

e.g。我检查用户是否登录到每个安全页面。如果没有,我会重定向到登录页面。然后登录将它们返回到安全页面。这会导致会话超时。

e.g。用户编辑表单(基本CRUD)。然后电话铃响了。通话结束后,他们提交表格但没有有效的会话。该操作会重定向到登录名。但登录后,表单变量为空,并在表格中创建一个空行...

我可以想办法处理这种情况,但现在我想知道这是否是一场疯狂的追逐。还有更好的方法吗?

  • 是否有讨论基于应用程序或基于容器的身份验证的优点的常见问题解答?
  • 滚动自己的身份验证是否有一个很好的文档模式?
  • 这种情况将来会导致可扩展性问题吗?

寻找替代方案。 感谢

1 个答案:

答案 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)来存储所有请求数据(即请求参数和请求参数值)。“

使用此设置,您可以在再次登陆表单时填充字段