0

我已经实现了自定义 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" ,即使这样也没有效果。

我也没有使用会话

4

1 回答 1

0

问题是我们还需要指定应用程序池空闲超时以使上述条件有效。

于 2013-11-29T11:15:26.670 回答