我的情况如下
在浏览器上我打开一个网站,在获得系统认证后(即access.abc.com),我得到一个cookie,我在客户端设置它,即connect.sid与域名为.abc.com
在同一个浏览器上,我打开了另一个网站,即xyz.abc.com,它也会生成会话cookie(在从同一个地址(即access.abc.com)进行身份验证之后),其名称相同,但域名为xyz.abc。 com(基本上就是这个网站设置的)
现在,如果我向xyz.abc.com上的任何api发送请求,我会看到2个connect.sid正在运行。
我的问题是当xyz.abc.com发送请求时,access.abc.com的快递会选择哪个cookie?
以下是access.abc.com的快递会议设置
var RedisStore = require('connect-redis')(expressSession);
var session = expressSession({
key: 'connect.sid',
store: new RedisStore({host: config.session_redis.host,
port: config.session_redis.port,
ttl: 2*24*60*60 //in secs
}),
resave: false,
saveUninitialized: false,
secret: '234567',
cookie: {
domain: '.abc.com',
maxAge: 2*24*60*60*1000 // in ms
}
});
答案 0 :(得分:1)
我的问题是当xyz.abc.com发送请求时,access.abc.com的快递会选择哪个cookie?
查看代码,我认为它将在请求标头中遇到的第一个 @Html.LabelFor(model => model.Area, new { @class = "control-label" })
@Html.DropDownListFor(m => m.AreaID, Model.AreaList, "Please select a Area", new { @class = "form-control" })
标头中选择一个,因此问题变为“浏览器首先放入标头中的哪个cookie ?“(我无法回答,因为我不知道)。