2013-06-12 7 views
4

Наш сайт Sitecore 6.6.0 (rev. 120918) может работать через http, а также https. У нас также есть требование безопасности, позволяющее передавать все файлы cookie через SSL независимо от того, доступен ли веб-сайт через http.Sitecore с требованиемSSL для печенья

Мы достигли этого требования, используя свойство RequireSSL в web.config, как описано здесь: How can I set the Secure flag on an ASP.NET Session Cookie?

С этим изменением, наш общедоступный веб-сайт отлично работает и при анализе в Firebug, мы можем видеть, что все куки «безопасно», даже когда сайт доступен через http.

Но проблема в том, что я пытаюсь войти в портал администрирования sitecore через http, он выдает ошибку The application is configured to issue secure cookies. These cookies require the browser to issue the request over SSL (https protocol). However, the current request is not over SSL. Единственный способ получить доступ к порталу администрирования sitecore - через https. Даже с https это дает некоторые странные проблемы. По прошествии некоторого времени в нем говорится, что многие пользователи admin вошли в систему, и мне нужно вытащить часть из них. Я также не могу получить доступ к административному порталу удаленно.

Почему общественный веб-сайт работает с SSL-файлами cookie, но портал администрирования sitecore имеет проблемы с SSL-файлами cookie. Возможно ли это и несовместимая конфигурация на нашем сайте?

ответ

1

Я думаю, что проблема будет в том, что вы установили <httpCookies requireSSL="true" />, который будет устанавливать куки для защиты, но и установить проверки подлинности форм:

<system.web> 
    <forms requireSSL="true"> 
     /* forms content */ 
    </forms> 
</system.web> 

Как это будет переопределить настройки печенья. Проблема заключается в том, что этот набор в разделе форм требует, чтобы логин произошел по https, а не по http. На вашем общедоступном веб-сайте вы увидите эту проблему только в том случае, если есть форма входа в систему.

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

MSDN: FormsAuthentication.RequireSSL Property

+0

Проблема заключается в Sitecore, кажется, вызывает проблемы даже тогда, когда он полностью доступны через HTTPS. Я все еще не делал анализа по этим вопросам. – ravinsp

0

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

В качестве обходного пути вы можете использовать IIS Rewrite для перенаправления запроса на/sitecore на SSL до того, как будут установлены все файлы cookie, поскольку я предполагаю, что вы хотите, чтобы все запросы на SSL для управления контентом выполнялись.

Я мог бы также быть совершенно неправильно здесь :)

+0

Защищенный атрибут для файлов cookie не должен зависеть от доступа к сайту через http или https. Фактически, безопасный флаг для файлов cookie гарантирует, что файлы cookie всегда передаются через ssl, даже когда к сайту обращаются через http. – ravinsp

Смежные вопросы