【发布时间】:2017-03-16 12:17:27
【问题描述】:
我们有许多公司内部的 ASP.Net 应用程序。所有都使用表单身份验证,并且都是基于会话的......
我想要做的是当用户退出一个应用程序时,他/她会退出所有应用程序。
我有一些迭代 cookie 集合的逻辑。我可以看到所有其他 ASP.Net 应用程序,但我无法删除它们。
我目前使用以下逻辑:
// expire all asp.net app tickets
string[] allDomainCookes = HttpContext.Current.Request.Cookies.AllKeys;
foreach (string domainCookie in allDomainCookes)
{
if (domainCookie.Contains("ASPXAUTH"))
{
var expiredCookie = new HttpCookie(domainCookie) { Expires = DateTime.Now.AddDays(-1) };
HttpContext.Current.Response.Cookies.Add(expiredCookie);
}
}
HttpContext.Current.Request.Cookies.Clear();
由于某种原因,它们没有被删除。我知道它们都在那里,因为我已将它们写到页面上。它们只是没有被删除....这是因为这些是会话 cookie 吗?
另外我应该补充一下,它们都是某个域的子域,所以所有权应该不是问题?
【问题讨论】:
标签: c# asp.net session cookies