我有一个ASP.NET Core 1.1.2项目,其中我正在使用cookie身份验证。 我遇到一个问题,就是用户在闲置一个小时或更短的时间后被提示重新登录,并且失去了工作进度。下面的代码是我在Startup.cs的Configure函数中使用的,用于设置这个功能,从我所知道的来看,它应该至少在8个小时后过期。另外,ProjectProcessFlow只是项目的名称。
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
AuthenticationScheme = "ProjectProcessFlow",
LoginPath = new PathString("/Account/Login/"),
ExpireTimeSpan = new TimeSpan(8, 0, 0),
SlidingExpiration = true,
AutomaticAuthenticate = true,
AutomaticChallenge = true
});
我正在NuGet中包含 Microsoft.AspNetCore.Authentication.Cookies v1.1.2。为了让登录过期在预期时间内发生,我需要做什么?
附加信息:
我发现当超时发生并且用户被要求重新登录时,在服务器的事件查看器中记录了一个警告,指出它找不到项目下的日志文件夹。因此,我创建了该文件夹,并等待再次发生超时。当那时发生时,一个日志文件被创建在那个文件夹里,里面包含了这个:
Hosting environment: Production
Content root path: C:\inetpub\wwwroot\Sprout
Now listening on: http://localhost:13423
Application started. Press Ctrl+C to shut down.
当我重复这个过程时,发生了同样的事情,只是在“localhost:”之后出现了不同的数字。我应该提到的是,项目名称为ProjectProcessFlow,但URL以Sprout结尾。
services.AddSession
启用了吗? - Hamid Mosalla