Это ASP. NET 4.8 Framework-приложение (Angular 7 front end). Когда я использую chrome (обычный или инкогнито), у меня есть 2 вызова API подряд, один для «входа в систему» и один для «GetData» для домашней страницы пользователя. Когда я отлаживаю это, я вижу в chrome, что SessionId на поваре ie, отправляемом в HttpPost
, совпадает на обоих вызовах, но на стороне сервера, когда я отлаживаю расширение AuthorizeAttribute, которое у меня есть HttpContext.Current.Session.SessionId
Я вижу, что сессия изменилась между вызовом «Login» и вызовом «GetData». Это два разных API-контроллера.
Когда я делаю то же самое в Edge, я не вижу этой проблемы.
Что я могу сделать, чтобы устранить эту проблему? Я посмотрел на мой код в Global.asax.cs Session_Start и не вижу ничего перезаписывающего информацию о сеансе.
- RequireSSL не соответствует действительности
- Я не настраиваю Secure в true Это проблема
- Эта проблема не возникает у других разработчиков, использующих ту же самую базу кода
- Я попытался добавить некоторый код в Session_Start, например
Session["init"] = 0;
РЕДАКТИРОВАТЬ: работает и в firefox
, это связано с chrome v80 +, как описано здесь