【发布时间】:2022-02-10 15:46:26
【问题描述】:
当用户闲置十分钟时,我想进行自动重定向。下面是测试代码,不工作。
LoginPath、LogoutPath 和 AccessDeniedPath 不存在。因此,我预计超时后会出现错误。相反,我可以继续成功单击“主页”和“关于”而不会出现错误且不会被重定向。我的期望是我将被重定向回主页。
示例代码:
services.AddMemoryCache();
services.AddSession(options =>
{
options.Cookie.Name = "MyAppCookie";
options.Cookie.IsEssential = true;
options.Cookie.HttpOnly = true;
options.IdleTimeout = TimeSpan.FromMinutes(1);
});
services.ConfigureApplicationCookie(options =>
{
options.Cookie.HttpOnly = true;
options.ExpireTimeSpan = TimeSpan.FromMinutes(1);
options.LoginPath = "/Account/Login";
options.LogoutPath = "/Account/Login";
options.AccessDeniedPath = "/Account/AccessDenied";
options.SlidingExpiration = true;
});
【问题讨论】:
-
如果页面丢失,我不希望这会重定向到主页。相反,我希望它会重定向到目标页面,但会产生 404 错误。显然,这没有发生,因此你的问题。但是您的期望会推断出第二个问题,该问题与您的主要问题有点相切(例如,“如何将 404 错误路由到我的主页?”)。
-
主要问题是为什么自动重定向没有在 cookie 超时时触发。 404 期望用于在 Hello World 应用程序上进行视觉确认。毫无疑问,自动重定向是由 cookie 超时触发的。
-
是的,我理解那部分,我认为这在原始问题中很清楚。只是你第二段中的最后一句话让我感到困惑。
标签: asp.net-core asp.net-core-5.0