如何删除OWIN cookie域中的前导点?

时间:2016-03-13 16:00:27

标签: c# asp.net-mvc cookies owin

我们正在创建一个包含两个不同部分的MVC Web应用程序:

  • domain.com是主要网站
  • admin.domain.com是网站的管理部分

两个站点都有自己的用户集 - 如果用户登录到domain.com,则不应在管理站点上进行身份验证 - 反之亦然。

我在Startup.cs中为两个站点设置了OWIN提供程序:

app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = "ApplicationCookie",
            LoginPath = new PathString("/Login"),
            CookieDomain = "domain.com"
        });

在管理项目中类似的CookieDomain设置为“admin.domain.com”。

然而 - 当我部署并登录到domain.com时,创建的“.AspNetApplicationCookie”属于域“.domain.com”(注意点) - 这意味着任何登录域的用户.com还在所有子域(包括admin.domain.com)上进行了身份验证。这不是我想要的。

你们有没有人知道为什么我的Startup.cs中的CookieDomain被忽略了?这是我们的应用程序的主要问题。

我可以找到很多关于跨子域共享身份验证的帖子 - 但我特别不想这样做。每个cookie必须属于我的CookieComain属性中指定的确切域。

任何输入都会非常感激:)

感谢。

更新

因此,使用Chrome或Firefox时,这似乎只是一个问题。如果我使用IE登录,则cookie域将设置为预期值。 有没有人经历过这个?也许可能有一个修复它?

0 个答案:

没有答案