C# 表单身份验证SSO注销问题由于重复的cookie

C# 表单身份验证SSO注销问题由于重复的cookie,c#,asp.net,cookies,forms-authentication,global-asax,C#,Asp.net,Cookies,Forms Authentication,Global Asax,我正在使用表单身份验证跨*.mydomain.com处理SSO 登录后,我创建了一个非持久性cookie,其中嵌入了票据,并将其域设置为.mydomain.com 但问题是,当我访问域上的任何网站时,我发现有两个cookie具有相同的名称,但具有不同的域: 1> site1.mydomain.com[1st Forms Auth Cookie]重复Cookie 2> .mydomain.com[第二个表单验证cookie] 第一个Cookie不是我创建的。而且它不安全 注销后,我成功清除了第二

我正在使用表单身份验证跨*.mydomain.com处理SSO 登录后,我创建了一个非持久性cookie,其中嵌入了票据,并将其域设置为.mydomain.com

但问题是,当我访问域上的任何网站时,我发现有两个cookie具有相同的名称,但具有不同的域:

1> site1.mydomain.com[1st Forms Auth Cookie]重复Cookie

2> .mydomain.com[第二个表单验证cookie]

第一个Cookie不是我创建的。而且它不安全

注销后,我成功清除了第二个Cookie

但是,第一个cookie仍然存在,对于用户来说,似乎他仍然登录到site1。这是因为我检查是否存在同名的cookie,并且第一个cookie肯定被错误地假定为表单Auth cookie。我无法检查域属性,因为请求中有关域的信息为空

我的问题是如何创建第二个特定于网站的域cookie。 如果我无法避免这一点,有解决办法吗

更新:此错误cookie存储的加密值在我在网站上发出的每个请求中都会更新,而我的Auth cookie中的加密值根据

“Add方法允许cookie集合中存在重复的cookie。请使用Set方法确保cookie集合中cookie的唯一性。”

在更新我的表单身份验证票证后,我正在做:

Response.Cookies.Add(..);
因此,生成了一个新的重复cookie

要解决此问题,请执行以下操作:

Response.Cookies.Set(..); 
如果你像我一样,你会期望ASP.Net用新的cookie替换旧的cookie