如何在JSP中实现登录系统

时间:2009-09-28 12:23:44

标签: java jsp redirect login

一个非常基本的JSP问题,因为我仍然试图理解正确的做事方式。

我正在开发一个Web应用程序,要求用户在工作之前登录。我想要发生的是,只要没有登录的用户试图访问任何页面(登录页面除外),用户就会被重定向到我的登录页面。

我选择的方法只是在每个页面的顶部有一些代码,尝试从会话中获取用户对象,如果它不存在,则重定向到登录(我有存储在会话中的用户对象,用于存在的用户,其中包含权限等其他详细信息。

这是进行身份验证的正确方法吗?或者我应该考虑更多标准方法?

编辑:我决定将这个问题分成两个问题,因为一个问题更多是一个最佳实践问题而另一个问题纯属技术问题。感谢您的回复。

2 个答案:

答案 0 :(得分:5)

我不知道你是否有这个替代方案,但使用Java EE声明性安全性可以免除你需要将身份验证代码放入每个JSP。

您的想法是,在您的web.xml中指定安全规则,例如:网址格式只能由那个角色的用户访问。容器将然后在用户尝试访问受保护资源时提出质疑。您可以指定自己的登录页面,以便在用户受到质疑时使用。

我认为编写自己的登录信息非常有用。

以下是link对如何执行此操作的说明。

答案 1 :(得分:1)

是的,JSP被编译为servlet子类。提前返回的正确方法是简单地“返回”;在您的JSP中。

话虽如此,我认为您应该考虑其他身份验证解决方案。很容易最终忘记在1个JSP的顶部忘记包含,然后你最终意外地允许该页面上的GUEST用户!