Как удалить файл cookie состояния сеанса?C#

Место общения программистов C#
Ответить
Anonymous
 Как удалить файл cookie состояния сеанса?

Сообщение Anonymous »

У меня есть проект ASP.NET Core MVC, который использует состояние сеанса для хранения имени документа, который ранее открывал пользователь. Для этого требуется использование файла cookie.
Вот настройки в Program.cs:

Код: Выделить всё

// Cookies for session state
builder.Services.AddDistributedMemoryCache();
builder.Services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromSeconds(10);
options.Cookie.Name = Constants.SessionCookieName;
options.Cookie.HttpOnly = true;
options.Cookie.IsEssential = false;
});
В верхней части моего веб-сайта есть уведомление об использовании несущественных файлов cookie. По желанию пользователь может либо согласиться на использование второстепенных файлов cookie, либо отказаться от использования второстепенных файлов cookie (это делается для соблюдения правил защиты данных в стране, в которой я живу).
Если пользователь решает отказаться от использования несущественных файлов cookie, код C# очищает состояние сеанса и больше не использует его. НО файл cookie все еще там. Пользователь может перейти к списку файлов cookie своего браузера и просмотреть его. А поскольку он зашифрован, все, что видит пользователь, — это зашифрованный текст, и ему просто приходится поверить мне на слово, что я не храню там ничего несущественного.
Скриншот ниже из Edge:
Изображение

Для пользователей было бы яснее, если бы, когда они отказывались от использования несущественных файлов cookie, файлы cookie состояния сеанса удалялись.
Я пробовал множество способов удалите этот файл cookie состояния сеанса. Создание еще одного файла cookie с тем же именем в контроллерах OnActionExecuting и OnActionExecuted, очистка состояния сеанса и вызов Response.Cookies.Delete, но он просто не исчезнет.
Кроме того, если я вручную удалю файл cookie состояния сеанса и ничего не сохраняю в состоянии сеанса, файл cookie состояния сеанса не будет создан заново. Он создается только тогда, когда я сохраняю что-то в состоянии сеанса. К сожалению, он не удаляется при очистке состояния сеанса.
Как удалить файл cookie состояния сеанса?

Подробнее здесь: https://stackoverflow.com/questions/790 ... ate-cookie
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»