网站正在自动刷新。当用户使用已登录的用户名登录时,如何注销以前的登录?如何在第一个浏览器窗口中提供重新登录页面?
Please provide some code snippets....
Thanks in advance....
答案 0 :(得分:2)
This帖子正在处理类似的问题。
如果没有指定更多细节,很难正确回答您的问题。首先,如果用户在同一浏览器中打开另一个选项卡或窗口,他们仍将使用之前的登录名登录。这是正常行为。
如果用户使用其他浏览器登录,则可以执行以下操作:
void sessionCreated(HttpSessionEvent se)
创建会话时,检查用户的凭据和会话ID是否在您的数据库中void sessionDestroyed(HttpSessionEvent se)
删除数据库中的用户凭据另一件事。如果您打算使用这种方法,那么如果您的用户凭据存储在数据库中,则必须检查每个浏览器请求。您可以使用Servlet filter。当然,这将是一个开销。
还有一件事。如果会话创建/销毁代码中存在异常,则存在用户凭据未在数据库中正确处理的危险。您可以使用数据库触发器来处理此操作,以删除与会话超时一样长的行。