我的网站的安全检查显示会话(即登录)永远不会过期。我已经测试过自己,发现了同样的情况 - 今天早上我在本地主机上打开了该网站,但我仍然从昨天开始登录。我一直认为它会在 20 分钟后过期,就像在 .NET Framework 应用程序中一样。
我使用 ASP.NET Core Identity 脚手架,除了实现两因素身份验证之外,只需进行很少的更改。
在我的 Startup.cs 中,我有以下代码来添加会话支持:
services.AddSession(options =>
{
options.Cookie.IsEssential = true;
options.IdleTimeout = TimeSpan.FromSeconds(10);
options.Cookie.Expiration = TimeSpan.FromSeconds(10);
});
我在 IdentityOptions 下看不到任何与登录超时相关的代码。
在登录页面上,我专门将任何“记住我”类型的函数硬编码为 false:
await _signInManager.SignInWithClaimsAsync(user, isPersistent: false, claims);
如何让我的登录会话在大约 20 分钟后过期,就像在 .NET Framework 中自动过期一样?
我基本上有与这个问题中提到的问题完全相反的问题:asp.net-core2.0 用户在 20-30 分钟后自动注销 https://stackoverflow.com/questions/45825684/asp-net-core2-0-user-auto-logoff-after-20-30-min
这里的大多数问题似乎都在询问如何增加超时,但我需要将其从(看似)无限减少到 20 分钟左右: