我已经实现了自定义asp.net身份验证并添加了所有必需的属性,即使用户经常注销。
我曾在共享的godaddy服务器上托管过这个网站。
这是我的代码:
var ticket = new FormsAuthenticationTicket(2, auth.Message.ToString(), DateTime.Now, DateTime.Now.AddDays(3), true,
string.Empty, FormsAuthentication.FormsCookiePath);
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket))
{
Domain = FormsAuthentication.CookieDomain,
Expires = DateTime.Now.AddYears(50),
HttpOnly = true,
Secure = FormsAuthentication.RequireSSL,
Path = FormsAuthentication.FormsCookiePath
};
Response.Cookies.Add(cookie);
Response.Redirect(FormsAuthentication.GetRedirectUrl(auth.Message.ToString(), true));
我的Web.config有以下值:
<authentication mode="Forms">
<forms requireSSL="false" timeout="120" loginUrl="~/CRM/Logon.aspx" defaultUrl="~/CRM/OTP.aspx" />
</authentication>
我的用户抱怨他们会在10-20分钟后退出
感谢任何帮助。
修改
我删除了requireSSL =“false”timeout =“120”,甚至没有效果。
我也没有使用会话
答案 0 :(得分:0)
问题是我们还需要指定应用程序池空闲超时以使上述条件有效。