我想知道如何设置一个超时时间,如果用户在10分钟内没有进行任何请求,则会话将被终止并注销。
在我的webconfig中有以下内容:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn"
protection="All"
timeout="20160"
path="/"
requireSSL="false"
slidingExpiration="false"
defaultUrl="default.aspx"
cookieless="UseDeviceProfile"
enableCrossAppRedirects="false" />
</authentication>
我被告知将超时设置为“20160”,因为我想在他们勾选“保持登录两周”时保持登录状态两周。我还确保在我的Cookie中启用了IsPersistent。
那么,我需要设置另一个超时时间吗?因为在我的网站上一段时间不活动后,它就不再工作了。我没有计时,但是假设我离开并在10分钟后回来,尝试在我的网站上进行某些操作(例如保存某些内容),它将无法正常工作。所以看起来我的连接已经断开或者出现其他问题。我必须退出,重新登录,然后才能正常工作。
编辑
这是我制作Cookie的方式。
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(version,userName,DateTime.UtcNow,DateTime.UtcNow.AddDays(14),createPersistentCookie,userData,"/");
string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
authCookie.Path = "/";
if (createPersistentCookie == true)
{
authCookie.Expires = DateTime.UtcNow.AddDays(14);
}
HttpContext.Current.Response.Cookies.Add(authCookie);
当我在Webconfig中设置会话状态时,我的URL中会出现这个。
(S(gkvkze55zfzzee45wj34byee))
我不想在我的代码中出现这个讨厌的行。