跨域访问session共享问题

主要解决:前后端分离,通过ajax请求服务器,后端实现负载均衡,实现跨域访问session共享问题。

1、在ajax请求中添加:dataType:"jsonp"和jsonpCallback:"jsonpCallback"

   $.ajax({
url: URL_GET_API,
type: "POST",
data: _param,
dataType:"jsonp",
jsonpCallback:"jsonpCallback",
success: function(data){
_callback(data, _obj);
},
failure: function(){
_data = {};
_data[JSON_KEY_CODE] = RESPOND_CODE_AJAX_FAILURE;

_callback(_data, _obj);
}

});

2、服务器在接受请求处理完业务时将jsonpCallback原样返回

3、配置Tomcat,在$Tomcate_home/conf/context.xml中添加,其中xxx.com为顶级域名

    <Context useHttpOnly="true" sessionCookiePath="/" sessionCookieDomain="xxx.com"/>

   在$Tomcate_home/conf/server.xml中将下列注释打开

   <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

4、配置应用,在应用/WEN-INF/web.xml中增加<distributable/>

5、在应用/META-INF/中添加配置文件contxt.xml,文件内容为

    <?xml version="1.0" encoding="UTF-8"?>
   <Context useHttpOnly="true" sessionCookiePath="/" sessionCookieDomain="xxx.com"/> 

猜你喜欢

转载自blog.csdn.net/chlearning125/article/details/79663781
今日推荐