Ramesh0809 Ответов: 1

Сессии проблемы ремонта


Всем Привет,

В одном из наших приложений мы столкнулись с нижеприведенной проблемой, связанной с SessionId.
Значение SessionId в файле cookie (тело запроса и ответа) не восстанавливает новые значения после выхода пользователя из приложения и входа в систему обратно (я имею в виду выход из приложения без закрытия браузера и пения в спине). Он поддерживает более ранние значения, вместо того чтобы генерировать новые значения.

Но если закрыть браузер, то он генерирует новые значения. Но мы хотели генерировать новые значения SessionId каждый раз, когда пользователь выходит из приложения и входит обратно.

Очень ценю вашу помощь.

Что я уже пробовал:

Мы попытались очистить значения файлов cookie в обработчике выхода из системы
Свойство HttpContext.Тока.Запрос.Cookies.Четкий();
и добавил дату истечения срока действия файлов cookie, например:
Ответ.Файлы Cookie["Код"].Истекает = Датавремя.Сейчас.AddDays(-1);
Но даже после внесения этих изменений мы также не получаем новое значение sessionid после выхода из системы и входа в систему.

1 Ответов

Рейтинг:
1

MadMyche

Для этого сценария следует работать с самим объектом сеанса.

Session.Clear() очистит все значения, прикрепленные к текущей сессии. Так что если вы используете сеанс для хранения кучи вещей, связанных с логином пользователя и так далее, то удалите их все. SessionID останется тем же самым.

Session.Abandon() убьет сеанс пользователя, а также вызовет конец сессии событие. То Следующий запрос также должен иметь новый SessionID


Ramesh0809

Спасибо тебе, Мадмыч. На самом деле наше приложение-это обширное приложение (в нем есть C++, классический asp и современный asp). Я попробовал очистить и заброшенный сеанс. Но кое-где в конвейере он снова вводит те же значения (я думаю, из-за классического asp, но не уверен).
Но получение того же ASP.NET_SessionId при повторном входе в систему.

MadMyche

Классический жерех и жерех.Net - это полностью отдельные приложения, и каждое из них будет иметь свой собственный сеанс-процесс очистки/отказа должен быть выполнен в обоих приложениях