0

我正在尝试在 asp.net 项目上做记住我的系统。我做了用户注册和登录 FormsAuthenticationTicket。我想要的是当用户登录时,我按预期设置了一个持久性 cookie,我验证我可以添加 cookie 但 FormsAuthenticationTicket 不处理记忆的事情。这是我的代码

ticket = new FormsAuthenticationTicket(1,
                                            (String)(drUserInfo["Email"]),
                                            DateTime.Now,
                                            DateTime.Now.AddMinutes(30),
                                            Login1.RememberMeSet,
                                            (String)(drUserInfo["UserType"]));
                encryptedStr = FormsAuthentication.Encrypt(ticket);

你能帮我解决这个问题吗?FormsAuthenticationTicket 是否处理记住我的系统或我?

4

1 回答 1

0

查看 asp:Login 的源代码,我看到 cookie 是通过以下调用进行的:

从 System.Web.UI.WebControls.Login.AttemptLogin 调用

if (authenticateEventArgs.Authenticated)
{
    FormsAuthentication.SetAuthCookie(this.UserNameInternal, this.RememberMeSet);
    this.OnLoggedIn(EventArgs.Empty);
    this.Page.Response.Redirect(this.GetRedirectUrl(), false);
    return;
}

FormsAuthentication.SetAuthCookie(this.UserNameInternal, this.RememberMeSet);是电话

于 2013-02-15T16:58:21.707 回答