最近用JAVA做了一个B/S系统,为了防止未登陆用户访问系统,我采用了session对象来实现。如果用户通 过登陆页面登陆系统,在登陆成功后,用session.setAttribute("userid",userid);往session对象中写入用户ID。我在服 务端程序中加入下面一段代码: : : HttpSession session = request.getSession(true);
if(session.isNew()) { response.sendRedirect("Login.htm"); } else { String userid = (String)session.getAttribute("userid"); if(userid == null) response.sendRedirect("Login.htm"); else { : : 如果用户没通过登陆页面,session对象肯定是新创建的。 如果用户访问过系统的其他不需登陆就可以访问的页面,这时session对象已经创建,session.isNew()返回 false。那么需要判断userid是否为空『因为如果userid不存在session.getAttribute("userid")会返回null』,如 果没有通过登陆页面,userid肯定为空,从而有效防止了未授权用户访问系统页面。

|