Cookies 在dnx重新启动时丢失身份验证

Cookies 在dnx重新启动时丢失身份验证,cookies,asp.net-core,asp.net-core-mvc,Cookies,Asp.net Core,Asp.net Core Mvc,我正在ASP.NET MVC6应用程序中使用cookie身份验证。我的配置如下: app.UseCookieAuthentication(options => { options.CookieName = "ow.2a"; options.ReturnUrlParameter = "r"; options.AuthenticationScheme = "TwoFactor"; options.ExpireTimeSpan = TimeSpan.FromHou

我正在ASP.NET MVC6应用程序中使用cookie身份验证。我的配置如下:

app.UseCookieAuthentication(options =>
{
    options.CookieName = "ow.2a";
    options.ReturnUrlParameter = "r";
    options.AuthenticationScheme = "TwoFactor";
    options.ExpireTimeSpan = TimeSpan.FromHours(4.0);
    options.SlidingExpiration = true;
    options.AccessDeniedPath = new PathString("/login");
    options.LoginPath = new PathString("/login");
    options.AutomaticAuthenticate = true;
    options.AutomaticChallenge = true;
});
这是我的登录码:

await HttpContext.Authentication.SignInAsync("TwoFactor",  
    new ClaimsPrincipal(new ClaimsIdentity(new[] 
        { new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()) }, "Password")),  
    new AuthenticationProperties { IsPersistent = true, ExpiresUtc = DateTime.UtcNow.AddHours(4.0) });  

我注意到每隔一段时间(大约15分钟),我就会注意到自己被注销。我已经遵循了在IIS上托管我的应用程序的方法。问题似乎与dnx进程重新启动有关。我可以理解在一段时间不活动后关闭此进程,但不知道为什么身份验证cookie会变得无效。想法?

身份验证cookie是加密的。除非您运行了文档中提到的配置脚本

要保留数据保护项,必须为其创建注册表配置单元 每个应用程序池用于存储密钥。你应该使用 对于每个应用程序池,您将 正在下托管ASP.NET 5应用程序


或者你在代码中手动输入了这些键,当应用程序停止时,这些键将保留在内存中并被丢弃。那么,您是否遵循了说明中的所有步骤

就这样。。我没有任何特定于应用程序/用户的密钥,因此我认为我不需要配置数据保护..这就是为什么要执行此步骤:)我将提交一个更改以使其更清晰。