Java 安全登录,不允许用户使用URL导航

Java 安全登录,不允许用户使用URL导航,java,jsp,Java,Jsp,我正在创建一个动态网页,并且有一个登录页面——Login.jsp,在成功验证后,它将重定向到另一个页面,比如Page1.jsp 但是,如果我将网页的URL更改为“…Projname/Page1.jsp”,我可以绕过登录页面访问Page1.jsp 如何停止此操作,请感谢您的帮助。我在JSP中工作不多,但在PHP中,如果您未登录,我会将您重定向到登录页面 我相信在JSP中是这样做的: if (!checkIfLoggedIn()) { response.sendRedirect(urlToLog

我正在创建一个动态网页,并且有一个登录页面——Login.jsp,在成功验证后,它将重定向到另一个页面,比如Page1.jsp

但是,如果我将网页的URL更改为“…Projname/Page1.jsp”,我可以绕过登录页面访问Page1.jsp


如何停止此操作,请感谢您的帮助。

我在JSP中工作不多,但在PHP中,如果您未登录,我会将您重定向到登录页面

我相信在JSP中是这样做的:

if (!checkIfLoggedIn()) {
  response.sendRedirect(urlToLoginPage);
}
更多有关:

在login.jsp页面中成功登录时,您可以设置一些
会话
变量,以便在加载
Page1.jsp
时对其进行验证,以在加载页面之前检查其是否具有有效的用户名

在您的
Page1.jsp中尝试以下操作:

<%
//get UserName to verify 
String userName= (String) session.getAttribute("userName");
if(userName!=null)
{

//user is valid

}
else
{

//return here as user is invalid
response.sendRedirect("Login.jsp");

}


%>
<HTML>
<BODY>
Hello, <%= session.getAttribute("userName") %>
</BODY>
</HTML>

你好

注意:当用户从其页面注销/关闭浏览器时,应将
userName
会话变量设置为null。

您只需使用
response.sendRedirect(url)
。您需要为要检查用户是否登录的页面设置筛选器。。。您可以尝试这样做:在用户登录时创建一个会话,并在会话变量中存储一些数据。如果用户试图打开Page1.jsp,并且会话变量E具有必要的数据,则继续发送页面。否则发送错误消息。