通过设置cookie的domain来实现cookie的跨域传递。在cookie中传递一个自定义的session_id。这个session_id是客户端的唯一标记。将这个标记作为key,将客户端需要保存的数据作为value,在服务端进行保存(数据库保存或NoSQL保存)。从而实现Session的跨域。
cookie说明:
创建:Cookie cookie=new Cookie("", "");
//迭代找到需要使用的cookie
request.getCookies()
//把cookie加入到响应中
response.addCookie().
//为cookie设定有效域范围。
cookie.setDomain()
//为cookie设定有效URI范围。
cookie.setPath()
//设置过期时间
cookie.setMaxAge()
案例:本地测试
修改host:
127.0.0.1 www.osscookie.com
127.0.0.1 test.osscookie.com
原理:根据cookie中的domain域名方位进行跨域。
cookie的作用域是domain本身以及domain下的所有子域名。
如上面的 www.osscookie.com 只需要将osscookie.com设置到cookie中的域名中。只需该二级域名相同,则cookie内容不变。
代码:
https://github.com/timeday/oss-cookie