2013-10-22 67 views
-1

Web上有100万个示例演示如何创建基本的Java登录Servlet,用户必须输入用户名和密码才能通过某些数据库进行验证。当登录信息正确时,它会将您重定向到其他页面。需要登录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

登录成功后,你可以设置session.setAttribute(AA值),由使用session.getAttribute()检查所有页面值是否存在或not.If是留否则返回登录页面。

例如

登录成功后 做

session.setAttribute("user","user"); 

Now eac and every page check 
if(session.getAttribute("user")==null) 
{ 
response.sendRedirect("loginpage"); 

} 
else 
{ 

//your codes 
} 
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" /> 
+0

这就是他们的方式我这样做。 – user1007522

+0

'String strpassword'有什么用途吗?使用'strLoginId == null'有没有安全风险?通过这个,我的意思是用户不能简单地使strLoginId一些随机字符访问整个网站? – krikara

+0

神圣烟,它花了我太多的时间来弄清楚为什么你的代码会产生错误。显然,我应该使用'session.getAttribute(“currentSessionUser”)。toString();'而不是'(String)session.getAttribute' – krikara

相关问题