Я реализую структуру Anti-Forgery, как описано здесь:
Кроме того, чтобы свести к минимуму усилия по написанию кода, я выполнил часть вставки токена на стороне клиента, обрабатывая события form.onsumit и ajaxsend. Все работает нормально — пока не истечет сессия.
В моем приложении я отображаю всплывающее окно, когда время сеанса пользователя истекает, когда пользователь может повторно войти в систему и продолжить работу без обновления текущей страницы, чтобы незавершенная работа была безопасной. Но это не согласуется с логикой Anti-CSRF. Когда пользователь пытается повторно войти в систему после сеанса с истекшим временем ожидания, это вызывает исключение CSRF, поскольку срок действия файла cookie (__RequestVerificationToken_Lw__
) уже истек, и все будущие POST-запросы будут недействительны до следующего обновления страницы.
Есть ли способ установить время окончания файла cookie на будущую дату, а не на «сеанс»? Я попытался изменить Response.Cookie, но это сделало файл cookie недействительным.
Любая помощь будет оценена по достоинству. Спасибо