当前位置:编程学习 > C#/ASP.NET >>

asp.net form跨域登陆 删除cookie问题

现在有三个站点 www.a.com 
b.a.com
c.a.com
用form验证,但是退出时候,只有本站点有效,其他站点还能读取到该cookie,还在登陆状态
退出代码

FormsAuthentication.SignOut();

 
请问应该应该解决呢 --------------------编程问答-------------------- 所谓网站主域,就是指 a.com。跟什么 www、b、c没有关系。 --------------------编程问答-------------------- 就是三个站点,其中两个是子域名 --------------------编程问答-------------------- 自定义一个退出登录就可以了
        protected void LoginOut_Click(object sender, EventArgs e)
        {
            HttpCookie cookie = HttpContext.Current.Response.Cookies[FormsAuthentication.FormsCookieName];
            if (cookie == null)
            {
                cookie = new HttpCookie(FormsAuthentication.FormsCookieName);
                HttpContext.Current.Response.Cookies.Add(cookie);
            }
            cookie.Expires = DateTime.Now.AddYears(-10);
            HttpContext.Current.Response.Redirect("../Login.aspx");
        }
--------------------编程问答-------------------- 从不同站点登陆后读取都正常,但是退出只能在本站点的,其他站点依旧在登陆状态 --------------------编程问答-------------------- 你如果用多域名建立了多个站,那这个登录之间就根本没关系。
你配置域,用同一个COOKIE去实现 --------------------编程问答-------------------- @banian_cn 
你这方法没用 --------------------编程问答-------------------- 只是子域名啊,一个是主站 其他两个是子域名 --------------------编程问答-------------------- 自己顶,请高手指点 --------------------编程问答-------------------- 是不是二级域名没关系。 
你还没搞清楚概念。 不管是你一个站多个域名 还是 多个站不同域名都是很好解决的。 
你百度下跨域登录就可以了。
forms票据如果是多站是每个站一个票据的。 --------------------编程问答--------------------
引用 6 楼 lizh0103 的回复:
@banian_cn 
你这方法没用

不同站点不同票据你当然不是照搬直接去用的,你得分别去清楚多个站点的cookie --------------------编程问答-------------------- 我现在退出的时候无效,退出的时候应该如何删除cookie,现在只能哪个站点登陆 就是哪个站点退出,但登陆信息是可以获取的其他站点
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,