嗨,出于某种原因,用户几分钟后就会自动退出。
我无法确定多长时间 - 也许十分钟。基本上如果我登录,关闭浏览器并重新打开我的网站然后我仍然登录。但是如果我关闭并返回它十分钟后它需要我重新登录。 这是来自我的网络配置:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="1440" slidingExpiration="true" />
</authentication>
当用户登录时执行:
private void CreateAuthTicket(string userName, bool rememberMe, string userData)
{
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
1,userName,DateTime.Now,DateTime.Now.AddDays(1),rememberMe,userData);
string encTicket = FormsAuthentication.Encrypt(authTicket);
HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
Response.Cookies.Add(faCookie);
}
答案 0 :(得分:1)
if(rememberMe) {
faCookie.Expires(DateTime.Now.AddDays(5)); //or something else here
}
答案 1 :(得分:0)
IIS中的会话cookie存在超时设置。可能会导致您的会话过期。
默认情况下,&#34;记住我&#34; MVC中的功能应该创建一个持久性cookie。
答案 2 :(得分:0)
可以在浏览器中禁用Cookie,也可以检查
答案 3 :(得分:0)
如果更改Cookie期限不适合您。您可能需要为您的站点生成计算机密钥。这解决了过去记住我不工作的问题。
答案 4 :(得分:0)
这是本地还是托管环境?共享主机提供商有时会将其生命周期设置得很低,以便定期释放资源如果仅在部署站点时发生这种情况,则最好与提供商核实其设置。我曾经有一个托管人,他们的生命周期为5分钟(!!),这导致了类似的问题。