c # Обновление Cookie, не заставляя пользователя войти в систему

1

У меня есть параметр "UI", который контролирует внешний вид, который пользователь может изменить настройку, однако он включает обновление файла cookie.

Кажется, я могу обновить, но он заставляет пользователя снова аутентифицироваться, как я могу обновить файл cookie, не получив повторного подтверждения пользователя?

//We need to update the userToken as the menuOptionChanged
             var usertoken2 = new UserToken(schedule.MinimisedMenuBool);
             HttpCookie cookie = FormsAuthentication.GetAuthCookie(usertoken.UserName, false);
             var ticket = FormsAuthentication.Decrypt(cookie.Value);

             var newticket = new FormsAuthenticationTicket(ticket.Version,ticket.Name,ticket.IssueDate,ticket.Expiration,false,usertoken2.CalculateRawToken(),ticket.CookiePath);

             // Encrypt the ticket and store it in the cookie
             cookie.Value = FormsAuthentication.Encrypt(newticket);
            System.Web.HttpContext.Current.Response.Cookies.Set(cookie);
Теги:
forms-authentication

1 ответ

1
Лучший ответ

Почему вы сохраняете настройки внешнего вида пользовательского интерфейса в cookie проверки подлинности?

Есть ли что-то не так, просто сохраняя его как отдельный файл cookie?

HttpCookie menuCookie = new HttpCookie("menuCookie");    

menuCookie.Values.Add("menuAppearance", schedule.MinimisedMenuBool);
menuCookie.Expires = DateTime.Now.AddYears(1);

Response.Cookies.Add(menuCookie);

Затем вы можете опционально анализировать этот файл cookie для входа в систему.

  • 0
    хороший момент, просто даже не думал об этом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню