网上有一百万个例子,展示了如何创建一个基本的Java登录Servlet,用户必须输入一些用户名和密码才能被某些数据库验证。当登录信息正确时,它会将您重定向到另一个页面。
问题是教程仅教授如何验证用户是否输入了正确的用户名/密码。如果用户知道其他页面的URL,他可以完全跳过整个登录过程。我该怎么做才能让我的登录servlet实际登录并且需要访问其他页面?
这是我的登录过程目前的样子
if(user.isValid())
{
HttpSession session = request.getSession(true);
session.setAttribute("currentSessionUser",user);
response.sendRedirect("Unit_Info.jsp");
}else
response.sendRedirect("http://google.com");
答案 0 :(得分:1)
您可以使用RequestFilter来检查用户会话。
答案 1 :(得分:1)
从用户获取登录详细信息后,您可以在会话中保存登录详细信息,并在每个页面中保存,例如...
<%
String strLoginId = (String)session.getAttribute("LoginID");
String strpassword = (String)session.getAttribute("Password");
if(strLoginId==null) // Means session is not there
%>
<jsp:forward page="Error.jsp" />
答案 2 :(得分:0)
登录成功后,您可以在session.setAttribute()和所有页面中设置一个值,使用session.getAttribute()检查该值是否存在。如果是,请保持其他状态返回登录页面。
示例强>
登录成功后 做
session.setAttribute("user","user");
Now eac and every page check
if(session.getAttribute("user")==null)
{
response.sendRedirect("loginpage");
}
else
{
//your codes
}