Привет, все просто хотели вернуться к вам с подходом, который я в итоге использовал.
Требования, которые у нас были, где они:
- Логин должен быть защищен, SSL
- Он должен поддерживать не Javascript Senarios
- Контроль входа должен быть в состоянии разместить в любом месте потока сайтов.
- Только страницы, для которых требовался Https, должны использовать https (таким образом, перемещаясь назад и вперед между протоколами)
То есть с тем фактом, что у нас уже был веб-сайт, основанный на модели веб-форм с одним тегом формы, и тем фактом, что владельцы содержимого используют тег формы с runat = "server", а наш сайт полностью построен с использованием MasterPage и ContentPlaceholder единственное, что поддержало это, было использование решения I-Frame.
Это создает некоторые другие проблемы, связанные с перезагрузкой страницы, javascript (поскольку в любом случае почти все используют javascript), http в https и https в http сообщения.
При необходимости мы не хотели, чтобы все страницы публиковались на https, а только тем, кто отправлял конфиденциальную информацию по сети.
Чтобы справиться с этим, мы добавили свойство для каждой страницы, указывающее, следует ли делать безопасную запись. Когда этот флажок установлен, мы проверяем, пришел ли пользователь уже с защищенной страницы или нет.
Сделав это, мы можем изменить действие после публикации формы, чтобы отразить необходимые параметры безопасности.
Чтобы решить проблему Javascript, вызывая различные протоколы и обращаясь к ним (это воспринимается как эксплойт XSS для вызова javascript в разных доменах), мы делаем двойные обратные вызовы на страницу с некоторыми добавленными
параметры в строке запроса.
Надеюсь, эти советы тоже могут вам помочь.