如何确保AJAX功能的身份验证?目前使用Java Bean进行身份验证



我有一个Web应用程序,该应用程序使用Java Bean立即用于登录功能,所有JSP页面都会检查bean以确保用户登录。我还介绍了一些Ajax现在使用servlet的功能,我看到这些交换当然不会检查身份验证。我想知道该如何处理。例如,我不希望某人能够注销,点击"后退"按钮,然后成功提交Ajax功能。

我无法从servlet访问bean来检查登录(完全错误的上下文和静态与非静态)。我想我可以在数据库表中使用用户条目设置一个标志,表示登录是否登录。然后,我可以检测超时注销并更新标志。但是这样,每次完成工作都需要额外的数据库访问。它将以某种方式复制功能,但我想我也许可以将其用于Ajax的东西。与此不同的区别是,用户将无法像当前一样一次在多个位置登录。

这种事情通常如何完成?感谢您的帮助!

您可以使用会话来存储该标志,而不是数据库,当用户注销时,您应该删除该标志并销毁会话。在登录方法

HttpSession session = req.getSession(true); session.setAttribute("loggedIn",true) 在您的Ajax代码

if(eq.getSession(true).getAttribute("loggedIn")==true) doWork(); else error("not logged in"); WebContainer将为您处理超时,跟踪每个用户及其会话,依此类推。

,但我建议您使用标准来管理验证

相关内容

最新更新