我正在为我的登录系统使用 Membership API,一个奇怪的事情一直困扰着我。我允许用户选择是否“记住我”,即是否创建一个有效期为一个月的持久cookie。
在 Web.config 中,我写道:
<authentication mode="Forms">
<forms timeout="60" />
</authentication>
这应该是 60 分钟的默认会话 cookie。
在登录页面后面的代码中:
if(Membership.ValidateUser(UsernameTextBox.Text, PasswordTextBox.Text))
{
authCookie = FormsAuthentication.GetAuthCookie(UsernameTextBox.Text, RememberMeCheckBox.Checked);
if(RememberMeCheckBox.Checked)
authCookie.Expires = DateTime.Now.AddMonths(1);
Response.Cookies.Add(authCookie);
Response.Redirect(FormsAuthentication.GetRedirectUrl(UsernameTextBox.Text, RememberMeCheckBox.Checked));
}
然而结果很奇怪。我似乎创建了一个 60 分钟的持久 cookie!这怎么可能?