как я могу поделиться сеансом asp.net между http и https

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

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

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

Из MSDN :

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

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

Я исправил этот прерывистый вопрос для себя, установив для него значение false.

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

Редактировать : хорошо найти некоторые вещи сейчас.

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

Поэтому я пошел дальше и продолжал, чувствуя успокоение.

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

 app.UseCookieAuthentication(new CookieAuthenticationOptions { ... ... CookieSecure = CookieSecureOption.Never }); 
  • SSL и непонимание вручную
  • Как узнать, был ли запрос на сервлет выполнен с использованием HTTP или HTTPS?
  • Как восстановить отсутствующий сертификат IIS Express SSL?
  • Как я могу использовать WCF только с базовыми атрибутами, SSL и базовой аутентификацией в IIS?
  • Настройка Apache для обслуживания нескольких поддоменов через HTTP + HTTPS
  • почему Java не отправляет сертификат клиента во время подтверждения SSL?
  • Delphi: idHttp + SSL
  • Как установить ключ CA (самоподписанный SSL) на ubuntu?
  • Thunderbird: Ошибка: imap.server.com: сервер не поддерживает RFC 5746, см. CVE-2009-3555
  • Amazon S3 - HTTPS / SSL - Возможно ли это?
  • Ошибка SSL: certificate_verify_failed при очистке https://www.thenewboston.com/
  • Давайте будем гением компьютера.