有没有办法指定HttpCookie的端口?Asp.net HttpCookie指定端口
我有一个网站,可在sub.example.com,需要部署在sub.example.com:81和sub.example.com:82.(所以同一个域,不同的端口 - 使用的Apache2和单声道)
认证所使用的cookie指定域和路径进行:
sub.example.com (domain = "sub.example.com" path = "/")
sub.example.com:81 (domain = "sub.example.com:81" path = "/")
sub.example.com:82 (domain = "sub.example.com:82" path = "/")
// seems that the port in domain is not used...
所有sub.example.com工作正常,但sub.example.com登录时,页面在sub.example.com:81也收到sub.example.com设置的'认证'cookie。
所以我想能够指定一个httpCookie的端口来限制这个Cookie可以发送到的端口。或者,也许有一种解决方法来模拟此...
确实,你可以指定一个System.Net.Cookie(http://msdn.microsoft.com/en-us/library/system.net.cookie.aspx)的端口......但问题涉及到System.Web.HttpCookie(http://msdn.microsoft.com/en-us/library/zw640823(v=VS.80).aspx) –
啊,我误读了。如果您未设置域+端口,并且让Cookie设置域本身,会发生什么情况。那样有用吗? – Pbirkoff
找到了一个简单/快速的解决方案:该网站的所有实例都有不同的“身份验证”cookie名称:cookie的名称和端口号。例如:cookieName80,cookieName81 ...等等......即使cookies将被发送到所有实例,服务器也只会查找相关的cookie,并且不会阻止认证过程。 –