我爲我的登錄系統使用Membership API,一件奇怪的事情一直困擾着我。我允許用戶選擇是否「記住我」,這意味着是否要創建一個月有效期的持久cookie。如何正確創建ASP.NET Membership 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!這怎麼可能?
嗨,這是我的一個誤解的地獄!我相信很少有記錄,但應該經常需要。你是男人! – Aperture