发布到主机后,使用户保持登录状态的问题

问题描述 投票:0回答:1

我在本地iis cookie中发布代码后,按照代码中的配置有效期为1个月但是将其发布到主机后,cookie只能存活20分钟。我正在使用共享主机。这就是我配置cookie的方式:

services.AddAuthentication()
              .AddCookie(cookieSettings.MemberCookieScheme, options =>
              {
                  options.Cookie.Name = cookieSettings.MemberCookieScheme;
                  options.LoginPath = "/Profile/Login";
                  options.LogoutPath = "/Profile/Logout";
                  options.SlidingExpiration = true; 
                  options.ExpireTimeSpan = TimeSpan.FromDays(30);
                  options.Cookie.Expiration = TimeSpan.FromDays(30);
              });

并使用此代码登录用户:

await HttpContext.SignInAsync(_siteSettings.CookieSettings.MemberCookieScheme, principalMember,
                new AuthenticationProperties { IsPersistent = true });
authentication asp.net-core cookies asp.net-core-2.1
1个回答
0
投票

这是共享主机的问题。

默认情况下,IIS中的空闲超时为20分钟。

  1. 如果您有权访问服务器,则需要增加或关闭服务器IIS中应用程序池中的空闲超时。
  2. 如果您无权访问Web服务器,则可以创建一个新的您程序中名为HeartBeat或HealthCheck的端点以及20分钟后,调用此API以防止终止。

搜索这些:

  • 防止IIS空闲超时终止。

  • 自动调用ASP.NET Core的运行状况检查

© www.soinside.com 2019 - 2024. All rights reserved.