как я могу разделить сессию asp.net между http и https - PullRequest
8 голосов
/ 20 февраля 2009

Я прочитал, что страница, которая работает через соединение https, не может совместно использовать Сессию InProc (на основе файлов cookie) с другой страницей (или той же самой), работающей с обычным http. Мой сайт работает на Server 2003, IIS 6 и .Net 2.0.

После некоторых экспериментов выясняется, что страница, которая хранит данные в сеансе при подключении через https CAN, впоследствии получает доступ к данным, даже если работает под обычным http.

Итак, это возможно, или я должен пойти и искать недостатки в конфигурации SSL?

Ответы [ 4 ]

15 голосов
/ 20 февраля 2009

С MSDN :

Когда пользователь перемещается назад и вперед между безопасными и общественными зонами, ASP.NET-сгенерированный файл cookie сеанса (или URL, если вы включили cookie-меньше состояние сеанса) перемещается с ними в открытым текстом, но аутентификация печенье никогда не передается незашифрованные HTTP-соединения как долго в качестве свойства безопасного cookie установлено .

Таким образом, в основном, cookie может передаваться как по HTTP, так и по HTTPS, если для свойства Secure установлено значение false.

Я избежал этой проблемы, добавив ее в мой Global.asax файл:

void Session_Start(object sender, EventArgs e) 
{
    if (Request.IsSecureConnection) Response.Cookies["ASP.NET_SessionID"].Secure = false;
}

Это означает, что если файл cookie сеанса создается по HTTP, он будет доступен только через HTTPS.

5 голосов
/ 28 ноября 2010

Настройка IIS В окне свойств IIS на вкладке ASP -> Свойства сеанса есть параметр «Новый идентификатор для защищенных подключений»

Я исправил эту периодически возникающую проблему, установив для нее значение false.

1 голос
/ 02 сентября 2016

Если какое-либо из приведенных выше решений не работает, попробуйте это. Я сделал это после нескольких дней исследований.

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    ...
    ...
    CookieSecure = CookieSecureOption.Never
});
1 голос
/ 20 февраля 2009

Поиск проблемы пока не вызывает особого разговора, все еще ищет.

Редактировать : хорошо, теперь можно найти кое-что.

Правильно выглядит, что все будет работать нормально, если оба набора страниц находятся в одном приложении / веб-сайте.

Так что я бы продолжил и продолжил, чувствуя себя успокоенным.

...