如何识别和转发"未登录"用户回到登录页面?

时间:2015-02-28 07:02:51

标签: java jsp session servlets deployment-descriptor

我使用JSP,Servlet和JDBC创建了一个Web应用程序(NO FRAMEWORKS)。我们有基于表单的身份验证安全性,用户必须先登录。用户名和密码位于数据库中,与任何基于Internet的Web应用程序一样,用户名和密码由用户自己创建。

我们已使用Java Sessions来识别用户并查明此人是否已登录。我们所做的是在每个servlet页面和JSP页面中我们检查会话是否是新的以及会话是否可用,如果有任何问题我们将用户转发回登录页面。这可以保护用户直接访问www.xxx.com/questions?idEmployee=1等网址。

现在问题来了。我知道我们不必在每个页面中编写java代码来检查该人是否已登录。我们可以对部署描述符做些什么吗?因此它可以自动检查事物并转发用户。

然而,我在谷歌找到的答案都是关于将用户名和密码硬编码到部署描述符,所以对我们来说没用。那么,如何在不将用户名和密码硬编码到部署描述符的情况下解决这个问题呢?

2 个答案:

答案 0 :(得分:0)

最佳解决方案是编写一个Filter类(Servlet),避免重写每个JSP文件的代码。

在过滤器类中,您可以验证会话。

答案 1 :(得分:0)

  • 选项1:正如其他人所建议的那样使用Filters
  • 选项2:编写jsp以验证会话并根据需要重定向用户。现在导入jsp的重置所需的jsp,这需要有效的会话。