IE浏览器下使用localhost域名保存cookie的问题

最近在做一个新项目,发现在IE浏览器下无法单点登录,经过源码查看追踪,发现如下代码问题

SessionConfig.java

  private Integer redisExpireTime = 60 * 60 * 24 * 7;
  private Integer cookieExpireTime = 60 * 60 * 2;
  private Integer cookieMaxAge = -1;
  private String cookieDomain = "localhost";
  private String cookiePath = "/";

SessionManager.java

        Cookie refreshTimeCookie = new Cookie(REFRESH_TIME_COOKIE_KEY,     String.valueOf(System.currentTimeMillis()));
        refreshTimeCookie.setMaxAge(sessionConfig.getCookieMaxAge());
        refreshTimeCookie.setPath(sessionConfig.getCookiePath());
        refreshTimeCookie.setDomain(sessionConfig.getCookieDomain());
        response.addCookie(refreshTimeCookie);

login.js

    var login = function() {
        if(!$("#account").val() || !$("#pwd").val()) {
            $('#error-msg').text("用户名及密码不能为空.").show();
            return;
        }
        
        var loginParam = $('#login-form').find('input').serialize();
        console.log(loginParam);
        $.ajax({
            method : 'POST',
            url : 'account/login',
            data : loginParam,
            success : function(result) {
                if (result && result.code=='0') {
                    console.log(getUrlParameter('requestURL'));
                    window.location.href = getUrlParameter('requestURL') + window.location.hash;
                    $('#error-msg').text('').hide();
                } else {
                    $('#error-msg').text(result.msg).show();
                }
            }
        });
    }

现象:
在chrome,firefox浏览器下,设置cookie的domain为localhost时是可以正常保存cookie,但IE是无法保存

总结:

  1. 在cookie设置域名domain为localhost时,IE浏览器无法保存cookie
  2. 设置项目代码为localhost时,使用http://localhost:8080/访问,不论你domain设置为什么,IE浏览器同样无法保存cookie

解决方案:
1.修改host文件,修改增加本地的域名对应到127.0.0.1
如:

127.0.0.1    www.360qq.com  

2.不要使用localhost开发IE

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,486评论 11 349
  • 一、基础知识篇:Http Header之User-AgentUser Agent中文名为用户代理,是Http协议中...
    iPhone阅读 16,148评论 0 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,833评论 19 139
  • 注:本文转载自前端大全 背景 在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称...
    楠小忎阅读 3,926评论 0 0
  • 1,从本篇文章中我学到的最重要的概念: 学习英语并不像广告中的那么简单,自己适合的学习方法并不一定适合其他人。人们...
    17数417王佳丽阅读 1,459评论 0 0

友情链接更多精彩内容