主域名一样,子站点是完全可以共享cookie的,你试验一下就知道了
我也是局域网里试的,改hosts文件,设置三个域名指向不同机器,再建三个网站就能试了。
我刚试了一下,不在同一服务器上也是可以的。2楼,3楼是对的,只要domain设成.abc.com就行了。
从需求上讲,应该是一个单点登录的案例, 从技术角度讲,要实现cookies共享,必须是同域,那么a.xxx.com和b.xxx.com有相同的父域, 也就是在手工写入cookies时,domain取父域的名称.
这个应该用权限管理来做,所有子系统登陆都重定向到abc.com顶级域去登陆, 登陆后abc.com给客户发放身份证明存在cookie中,这个cookie可以在子系统共享 子系统拿到cookie后,从权限表中判断用户有没有权限访问该子系统。
或者你能让用户访问abc.com,问题就简单了,在abc.com中的页面可以设置cookie是可以在a.abc.com和b.abc.com间共享的。
我的几个二级域名网站 都是需要登录才能进入的 问了没办法提供一个写值的接口
举个例子: 客户访问 b.abc.com/login.aspx login.aspx判断用户身份合法后,首先按正常流程写入cookie(domain为b.abc.com),然后加上: .ClientScript.RegisterClientScriptInclude("", "http://a.abc.com/setcookie.js.aspx?cookie=" + cookie的值); 然后在a.abc.com中添加一个setcookie.js.aspx页面,在Page_Load中: string cookieValue = Request["cookie"]; var cookie = new HttpCookie() ... // 把cookie写到客户端 这样客户端浏览器就有两个cookie,分别属于a.abc.com和b.abc.com,它们的值相同。
可以在访问b.abc.com中domain时候,让客户端访问一下a.abc.com中domain,把cookie值作为参数传过去,由a.abc.com中domain负责写到cookie中。
111,083
社区成员
642,569
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧