• java web判断是否登录


    在使用session的情况下,如何判断是否已登录呢?

    1,登录成功的后续操作

    1 session.setAttribute(Constant2.SESSION_KEY_LOGINED_USER, user2);
    2             session.setAttribute(Constant2.SESSION_KEY_LOGINED_FLAG, Constant2.FLAG_LOGIN_SUCCESS);//登录成功的标识有两个:"user",Constant2.SESSION_KEY_LOGINED_FLAG
    3             

    2,注销

    session.removeAttribute(Constant2.SESSION_KEY_LOGINED_USER);
            session.removeAttribute(Constant2.SESSION_KEY_LOGINED_FLAG);

    3,判断是否已经登录

    /***
         * 判断是否已登录
         * @param user2
         * @return
         */
        public static boolean isLogined(User user2,String loginFlag){
            if(ValueWidget.isNullOrEmpty(user2)||ValueWidget.isNullOrEmpty(user2.getUsername())
                    ||loginFlag == null
                            ||( !loginFlag.equalsIgnoreCase(Constant2.FLAG_LOGIN_SUCCESS))){
                return false;
            }else{
                return true;
            }
        }
        /***
         * 判断是否已登录
         * @param session
         * @return
         */
        public static boolean isLogined(HttpSession session){
            String loginFlag = (String) session
                    .getAttribute(Constant2.SESSION_KEY_LOGINED_FLAG);
            User user2 = (User) session.getAttribute(Constant2.SESSION_KEY_LOGINED_USER);
            return isLogined(user2,loginFlag);
        }

    调用:

    if(!TVUtils.isLogined(session)){
                map.put(Constant2.LOGIN_RESULT_KEY, Constant2.MODIFY_PASS_RESULT_NOT_LOGINED_YET);//没有登录
                return HWJacksonUtils.getJsonP(map, callback);
            }

    流程:

    登录成功之后,向session中写入标识;

    接收到请求时,判断session中是否有标识,若有则表示已经登录,否则需要登录.

    问题:

    服务器接收到请求时,怎么知道是哪个用户呢?

    通过浏览器的cookie,例如:

    1. Cookie:
      JSESSIONID=F1D79A5CCB28B434F52D44B592F06CCE; bdshare_firstime=1438816569244; JSESSIONID=9F388DE5D0B1C2E86AB3BDC82B010673; cid=02c138ab6f1d5c9367ec7e2313979955
  • 相关阅读:
    一个请求在Struts2框架中的处理流程
    最大公约数和最小公倍数--java实现
    项目技术总结
    项目学习经验
    MyEclipse Project Migration功能中文简单介绍
    RSA的傻瓜原理
    Class.forName()的作用
    matplotlib 画封闭图像并填充
    matplotlib 做图通过弹出窗口展示 spyder
    pyodbc 一些内容
  • 原文地址:https://www.cnblogs.com/huangwei520/p/4859293.html
Copyright © 2020-2023  润新知