详细信息可在此页面中找到:
http://brockallen.com/2013/10/24/a-primer-on-owin-cookie-authentication-middleware-for-the-asp-net-developer/
我从这里复制了该页面的部分文本:
================================================ =======================
默认情况下(可能是为了简单和易于开发),如果传入的请求是 SSL,cookie 仅使用安全标志(即需要 SSL)发出。当您将应用程序发布到生产环境时,这是一个需要更改的重要设置。此设置使用枚举配置:
public enum CookieSecureOption
{
SameAsRequest,
Never,
Always
}
并将通过此配置更改完成(注意 CookieSecure 标志):
public void ConfigureAuth(IAppBuilder app)
{
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
CookieSecure = CookieSecureOption.Always
});
}
==================================
我已复制此 CookieSecure 属性的文档,如下所示:
确定 cookie 是否应仅在 HTTPS 请求上传输。如果正在执行登录的页面也是 HTTPS,则默认设置是将 cookie 限制为 HTTPS 请求。如果您有一个 HTTPS 登录页面并且您的网站的某些部分是 HTTP,您可能需要更改此值。
所以,我将 CookieSecure 的值更改为 CookieSecure = CookieSecureOption.Never,这解决了我的问题。