FormsAuthentication не сохраняет поле UserData после обратной передачи в .NET 3.5
Я создалFormsAuthenticationTicket
с нуля, но обнаружил, что при извлечении его позже,UserData
не возвращается Вот код, используемый:
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1,
user.UserId,
DateTime.Now,
DateTime.MaxValue,
false,
user.UserType);
HttpCookie cookie = new HttpCookie(
FormsAuthentication.FormsCookieName,
FormsAuthentication.Encrypt(ticket));
Response.Cookies.Add(cookie);
Тем не менее, при чтении этого снова на следующемRequest
Я обнаружил, чтоUserData
поле сейчас пустое:
string encryptedCookie = Request.Cookies[ FormsAuthentication.FormsCookieName ].Value;
FormsAuthenticationticket ticket = FormsAuthentication.Decrypt(encryptedCookie);
Assert.IsTrue( ticket.UserData.Length == 0 ); //TRUE!
Есть идеи?