2013-02-15 3 views
0

Я пытаюсь сделать систему Remember Me в проекте asp.net. Я зарегистрировал пользователя и зарегистрировал FormsAuthenticationTicket. То, что я хочу, это когда пользователь вводит логин, я устанавливаю постоянный файл cookie, как и ожидалось, я проверяю, что я могу добавить файл cookie, но FormsAuthenticationTicket не обрабатывает вещь для запоминания. вот мой кодasp.net Запомнить меня Система с FormsAuthenticationTicket

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

Помогите мне с этим? Does FormsAuthenticationTicket обрабатывать систему, помните меня или меня?

+0

FormsAuthentication обрабатывает его. Существует флажок в элементе управления asp: Login, который устанавливает зашифрованный файл cookie –

+0

Возможно, вы захотите использовать ILSpy и проверить, что происходит в asp: Элемент управления входами –

+0

Я вижу, что есть зашифрованный файл cookie, созданный с помощью элемента управления входами. но все еще не работает –

ответ

0

Просматривая исходный код для жереха: Вход Я вижу, что куки reated следующего вызова:

вызова с 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); - звонок

Смежные вопросы