Я реализовал пользовательскую аутентификацию, но не могу получить файл cookie для аутентификации после успешного входа в систему.
Настройка файла cookie:
HttpContext.Current.User = user;
Thread.CurrentPrincipal = user;
string userData = JsonConvert.SerializeObject(user);
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, user.Handle, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData);
string encTicket = FormsAuthentication.Encrypt(authTicket);
HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
HttpContext.Current.Response.Cookies.Add(faCookie);
Получение файла cookie:
HttpCookie authCookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];
if (authCookie != null)
{
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
user = JsonConvert.DeserializeObject<User>(authTicket.UserData);
}
Проблема в том, что HttpContext.Current.Request.Cookies
не содержит ключ FormsAuthentication.FormsCookieName
, а authTicket
всегда равен нулю.