【发布时间】:2013-06-24 20:22:39
【问题描述】:
我有 2 个名为 Login.jsp、NewChart.jsp 的文件。我正在使用Login.jsp 输入我的密码和用户名,我正在从 mysql 数据库中检索用户名和密码。
在浏览器中,如果我输入NewChart.jsp 的网址,它将显示图表。
如何避免这种情况,我只能通过Login.jsp 访问图表?
【问题讨论】:
我有 2 个名为 Login.jsp、NewChart.jsp 的文件。我正在使用Login.jsp 输入我的密码和用户名,我正在从 mysql 数据库中检索用户名和密码。
在浏览器中,如果我输入NewChart.jsp 的网址,它将显示图表。
如何避免这种情况,我只能通过Login.jsp 访问图表?
【问题讨论】:
我能想到的两种简单方法:-
将 NewChart.jsp 文件移动到 Servlet Container 的 WEB-INF 下。从 Login.jsp redirect 或 forward 到 NewChart.jsp。
在请求到达 NewChart.jsp 之前,编写一个过滤器并检查某些会话属性。设置登录时的会话属性。
【讨论】:
有一个内置的安全机制,你应该使用它们,安全性很复杂,有很多方法可以弄错。
如果您使用的是 Tomcat,则可以使用 JDBCRealm 来保护您的应用程序
【讨论】:
你需要管理会话,并且在登录时在会话中设置属性,并且首先在 NewChart 中,jsp 检查是否在会话中设置了该属性,如果是,则继续,否则直接重定向到 login.jsp
【讨论】: