Member 13769260 Ответов: 0

Множественный идентификатор сеанса создается в браузере safari (версия 11 )


When i try to login into the website developed in asp.net in safari browsee, different session id gets created on each page request.

Additionally, it is working fine in other browser like Chrome , IE, Mozilla on windows OS.

And in my web.config we are not using requireSSL = true,
And we are using SessionStateSection.SessionIDManagerType to set or get the session id.
Also in Session_Start event of Global.Asax.cs we are assinging some  value in session variable.

Does anybody faces this issue kindly give me the solution for this issue.


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

And in my web.config we are not using requireSSL = true,
And we are using SessionStateSection.SessionIDManagerType to set or get the session id.
Also in Session_Start event of Global.Asax.cs we are assinging some  value in session variable.

[no name]

Для каждого веб-приложения всегда будет создан сеанс по умолчанию, который вы можете использовать или не использовать в соответствии с вашими потребностями, и он не имеет никакого отношения к браузеру.

Согласно тому, что вы упомянули, у вас есть некоторая логика в session_start, но вы не предоставили никаких образцов кода, поэтому его очень трудно себе представить, вы должны предоставить код, чтобы кто-то мог его увидеть.

Member 13769260

когда я отлаживаю свой код, я нашел фрагмент кода, который вызывает проблему.
в моем коде мы устанавливаем срок действия для каждого файла cookie, и это только для соответствия требованиям или для рецензентов/аудиторов.
Пожалуйста, найдите фрагмент кода ниже:
authcookie.Срок действия = Datetime.utcNow.AddMinute(CurrentContext.Session.Перерыв);

где CurrentContext.Session.Тайм-аут = 15

таким образом, эта строка кода вызывает проблему в браузере safari. Однако он прекрасно работает в
другой браузер с той же строкой кода.

Кроме того, когда мы попытались запустить веб-сайт с тем же фрагментом кода, мы обнаружили, что файлы cookie не создаются только для этого веб-сайта в браузере safari.

Однако если мы установим срок действия файлов cookie более чем на 1,5 часа, то веб-сайт будет работать должным образом, и файлы cookie также будут создаваться для веб-сайта в safari.

Итак, я выяснил возможные способы запуска в браузере safari :

Либо удалить этот код, то сайт работает так, как ожидалось, даже в браузере safari. (Невозможно для соблюдения требований)

Или вместо добавления минуты добавьте выше 1,5 часа

authcookie.Срок действия = Datetime.utcNow.AddHour(1.8);

Итак, следующий вопрос заключается в том, почему файлы cookie создаются только в том случае, если мы устанавливаем срок действия более чем на 1,5 часа?

Member 13769260

да, вы правы.
когда я отлаживаю свой код, я нашел фрагмент кода, который вызывает проблему.
в моем коде мы устанавливаем срок действия для каждого файла cookie, и это только для соответствия требованиям или для рецензентов/аудиторов.
Пожалуйста, найдите фрагмент кода ниже:
authcookie.Срок действия = Datetime.utcNow.AddMinute(CurrentContext.Session.Перерыв);
затем,
Ответ.печенье.Добавить(authcookie)

таким образом, эти строки кода вызывают проблему в браузере safari. Однако он прекрасно работает в
другой браузер с той же строкой кода.
если я удалю этот код, то сайт будет работать так, как ожидалось, даже в браузере safari.

0 Ответов