0

我已经实现了登录按钮,如下所示:

                FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(u.UserID.ToString(), true, 2880);
                string encTicket = FormsAuthentication.Encrypt(ticket);

                HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
                cookie.Expires = DateTime.Now.AddMinutes(2880);
                Response.Cookies.Add(cookie);
Response.Redirect("/index.aspx");

这是我的网络配置:

   <authentication mode="Forms">
      <forms loginUrl="Login.aspx" defaultUrl="Index.aspx" slidingExpiration="true" timeout="2880" />
    </authentication>

我的问题是:当我将我的 Web 应用程序部署到主机时,一旦我登录,我会在用户目录中的几个页面上滚动,几乎在 30 秒后 - 1 分钟后我立即注销并重定向到登录页面所以我可以重新登录。为什么会这样???我已经在我的本地机器上测试了它,它工作得很好?!?!

有人可以帮我解决这个问题吗?

4

1 回答 1

0

您是否托管在网络场上?

如果是这样,您正在登录到一台服务器,当您被重定向到另一台服务器时,它无法解密您的身份验证票。所有机器密钥在您的每台 Web 服务器上都必须相同。请参阅如何:在 ASP.NET 2.0 中配置 MachineKey

于 2016-01-23T13:28:15.083 回答