zoukankan      html  css  js  c++  java
  • session会话管理,与过滤器使用,访问控制

    1 用户登录,是否注册用户,在登录处理页面进行用户验证,创建session保存用户名和密码

    2否,进入用户注册页面

    3是,系统保存该用户的登录信息

    4进入要访问的页面

    5用户直接访问某个页面,

    6系统是否保存了该用户的登录信息,从session中提取用户信息,如果用户信息存在,则可以进行操作,

    7否,进入用户登录页面

    8是,显示该页面内容。

    登录处理页面


            if (dao.hasUser(name)) {

                if (dao.isLegalUser(name, password)) {
                    request.setAttribute("name", name);
                    HttpSession session = request.getSession(true);
                    session.setAttribute("name", name);
                    //设置seseion过期时间,默认为秒
                    session.setMaxInactiveInterval(10*60);
                    
                    System.out.println("sessionid:"+session.getId());
                    request.getRequestDispatcher("/jsp/bolg2.jsp").forward(request, response);
                } else {
                    request.setAttribute("msg", "密码错误,请重新输入!");
                    request.getRequestDispatcher("login.jsp").forward(request, response);
                }

            } else {
                // 用户不存在
                response.sendRedirect("index.jsp");
            }
        }

    过滤器

    //sesssion对象提取登录信息,用户名

    String name=(String) req.getSession().getAttribute("name");
           // if(!"/isud/src/main/webapp/login.jsp".equals(targetURL)){
                //判断当前页面是否是的登陆页面,如果是就不做session的判断,防止死循环
                if(name==null){
                    //如果session为空表示用户没有登陆就重定向到login.jsp页面


                    System.out.println("没有登陆,请先登陆!");  
                    System.out.println("request.getContextPath()=" + req.getContextPath());  
                    res.sendRedirect(req.getContextPath()+"/login.jsp");
                }else {
                    //继续向下执行
                    chain.doFilter(request, response);
                }

  • 相关阅读:
    软件开发环境-开发环境、测试环境、生产环境的区别
    软件开发环境-开发环境、测试环境、生产环境的区别
    软件开发环境-开发环境、测试环境、生产环境的区别
    Proof of Stake FAQ
    【转】Ouroboros:一个可证明安全的PoS区块链协议 (共识介绍)
    可验证随机函数VRF
    Randao 可证公平随机数(VRF)白皮书
    VRF介绍
    随机数概论——VRF,Commit Reveal,BLS的原理及应用
    『分片技术分析』从分片开始了解区块链扩容方式
  • 原文地址:https://www.cnblogs.com/TangGe520/p/8728693.html
Copyright © 2011-2022 走看看