【问题标题】:Logout user after inactivity in asp.net core在 asp.net 核心中不活动后注销用户
【发布时间】:2018-08-26 10:48:44
【问题描述】:
我是 asp.net 核心的新手。我正在尝试在一段时间不活动后实现用户注销。有人可以建议指南/教程或解释如何使用 asp.net core 2.0 和 MySql 而不是 Entity Framework 来实现它。
【问题讨论】:
-
您也可以将 EntityFrameworkCore 用于 MySql:damienbod.com/2016/08/26/…
-
您好,欢迎来到 StackOverflow。关于教程和场外资源的问题在 StackOverflow 上是题外话。 要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作请在提问之前阅读On-Topic和asking部分以获得快速准确的答案
标签:
mysql
asp.net-core
asp.net-core-2.0
【解决方案1】:
使用AddIdentity 或AddDefaultIdentity 在服务中配置您的身份后,您可以配置您的cookie ExpireTimeSpan
您可以阅读链接文章中的Cookie Settings 块。
services.ConfigureApplicationCookie(options =>
{
options.ExpireTimeSpan = TimeSpan.FromMinutes(60);
options.LoginPath = "/Identity/Account/Login";
options.SlidingExpiration = true;
});
ExpireTimeSpan 是TimeSpan,之后 cookie 将过期。 SlidingExpiration 将指示处理程序一个具有新过期时间的新 cookie。
这里的文档:
总结:
SlidingExpiration 设置为 true 以指示处理程序重新发出新的
cookie 在处理请求时具有新的过期时间
超过过期窗口的一半。
【解决方案2】:
services.ConfigureApplicationCookie(options =>
{
options.LoginPath = "/Identity/Account/Login";
options.LogoutPath = "/Identity/Account/Logout";
options.AccessDeniedPath = "/Identity/Account/AccessDenied";
options.ExpireTimeSpan = TimeSpan.FromSeconds(60);
options.SlidingExpiration = true;
});
在 .net core 3+ 中,示例在登录路径和注销时显示“$”。这在 lunix 上运行时会导致错误。只需删除“$”,以上对我有用。