将用户信息保存到Cookie中

时间:2021-02-25 20:44:22
    /**
     * 把用户保存到Cookie
     *
     * @param request
     * @param response
     * @param member
     */
    private void rememberPwdAndUserName(HttpServletRequest request,
            HttpServletResponse response, Member member) {
        Long memberid = member.getMemberId();
        String uuidMDKey = parseKey(memberid);
        // 先验证 此key是否有重复
        boolean isexists = true;
        do {
            Long memberId = (Long) cache.get(uuidMDKey);
            if (null != memberId) {
                uuidMDKey = parseKey(memberid);
            } else {
                isexists = false;
            }
        } while (isexists);

        //add by zp 串session 添加日志
        String SESSIONIDKEY = UrlPrefix.getUrl("cookie.sessionidkey");
        String UUIDMDKEY = UrlPrefix.getUrl("cookie.uuidmdkey");
        String _GA = UrlPrefix.getUrl("cookie.ga");
        Cookie cookies[] = request.getCookies();
        String sessionId = "";
        String uuidMdKey1 = "";
        String _ga = "";
        if (cookies != null && cookies.length > 0) {
            Cookie sCookie = null;
            for (int i = 0; i < cookies.length; i++) {
                sCookie = cookies[i];
                if (sCookie.getName().equals(SESSIONIDKEY)) {
                    sessionId = sCookie.getValue();
                }else if(sCookie.getName().equals(UUIDMDKEY)){
                    uuidMdKey1 = sCookie.getValue();
                }else if(sCookie.getName().equals(_GA)){
                    _ga = sCookie.getValue();
                }
            }
        }
        EcCookie cookie =new EcCookie();
        cookie.setUuidmdKey(uuidMDKey);
        cookie.setSessionId(sessionId);
        cookie.setGaValue(_ga);
        cookie.setCreateTime(DateUtils.getCurrentDateString());
        cookie.setUuidmdKeyOld(uuidMdKey1);
        ecCookieService.saveEcCookie(cookie);
        //add by zp 串session 添加日志

        // 添加memcache 缓存
        cache.put(uuidMDKey, member.getMemberId(), CACHE_SECOND_SESSION);
        Cookie newCookie = new Cookie("uuidMdKey", uuidMDKey);
        newCookie.setMaxAge(MONTH_SECOND);
        newCookie.setPath(request.getContextPath() + "/");
        response.addCookie(newCookie);
    }