利用session对象防止未授权用户访问系统页面

    最近用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肯定为空,从而有效防止了未授权用户访问系统页面。

你可能感兴趣的:(JAVA,Documents)