1

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

这在当时似乎是合乎逻辑的事情。但现在我在质疑自己……我陷入了细节的泥潭。

例如,我检查用户是否在每个安全页面上登录。如果没有,我会重定向到登录页面。然后登录将它们返回到安全页面。这有会话超时的问题。

例如,用户编辑表单(基本 CRUD)。然后电话响了。通话后,他们提交表单但没有有效的会话。该操作重定向到登录。但是登录后表单变量是空白的,它们会在表中创建一个空行......

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

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

寻找替代品。谢谢

4

1 回答 1

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在提交Form的过程中,还是提交了参数,只是会被Filter拦截。在过滤器中,您可以create a temp session variable使用一个键userid_pagetype (to make it unique)来存储所有请求数据(即请求参数和请求参数值。)`

有了这个设置,您可以在他再次登陆表单时填充字段

于 2013-03-07T10:37:29.873 回答