让我们想象一下,我们使用带有cookie domain的OWIN Application Cookie来创建一个Web版本。
我们的配置行如下所示:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
CookieDomain = "whatever"
...
}
因此,根据文档:
提供Cookie的域名。默认情况下,这是 请求的主机名。浏览器仅将Cookie发送到 请求匹配的主机名。您可能希望将其调整为 适用于您域中任何主机的Cookie。例如,将 .contoso.com 的cookie域使 contoso.com 可以使用它, www.contoso.com 和s taging.www.contoso.com 。
一旦用户登录,cookie就会创建并在注销时过期。到目前为止一切顺利。
现在,如果我们决定不再使用Cookie.Domain
,我们将面临一个问题。我们要使用主机名,因此只需注释CookieDomain属性。
我们的配置行如下所示:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
// CookieDomain = "whatever"
...
}
这是全局情况:
如果此时我在浏览器中检查了cookie,则看到2个cookie,而不仅仅是一个:
我的第一个问题是:为什么要创建一个新的cookie而不使用前一个cookie?
这是我们的第二个主要问题:
那怎么可能? 您知道解决这种情况的任何方法吗?
谢谢!