我有一个使用Microsoft.AspNetCore.Authentication(2.2.0(的.net核心项目,配置为使用CookieAuthentication。Cookie被配置为持久,并在七天后过期。问题是,每当回收应用程序池时,所有登录的用户都会注销。
我根本没有使用会话。我已经验证了cookie仍然存在于网络浏览器中,似乎服务器已经确定现有的cookie无效。我该如何改变这种行为?
这是当前配置:
services
.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(
CookieAuthenticationDefaults.AuthenticationScheme,
options =>
{
options.AccessDeniedPath = "/";
options.LoginPath = "/";
options.LogoutPath = "/Authentication/Logout";
options.Events.OnRedirectToLogin = context =>
{
context.Response.Redirect("/?returnUrl=" + context.Request.GetEncodedPathAndQuery());
return Task.CompletedTask;
});
该错误是IIS中应用程序池配置中的错误。在应用程序池的"高级设置"中,需要将设置"加载用户配置文件"设置为"true"。