2011-12-20 2 views
8

Я использую [RequireHttps], чтобы заставить пользователя просматривать отдельные страницы только на https. Это отлично работает, но у него есть одна проблема. Когда пользователь переходит на другую страницу, он все еще имеет https. Я хочу, чтобы https просматривал только несколько страниц. Как перенаправить пользователя с Https на http? Можно ли использовать метод RedirectToAction()?ASP.NET MVC3 перенаправление с https на http

+0

Связанный с этим вопрос, применимый к MVC 2: http://stackoverflow.com/questions/2560615/redirect-away-from-https-with-asp-net-mvc-app –

ответ

3

Лучшим вопросом было бы то, почему вы хотите, чтобы пользователь возвращался обратно к http, когда вся тяжелая работа дрожания рук уже была выполнена, поэтому накладные расходы на использование https по сравнению с HTTP почти отсутствуют.

Посмотрите на этот question

Но, отвечая на ваш вопрос, нет реализации в MVC, чтобы сделать это, вам придется сделать это самостоятельно.

Посмотрите на это question, он описывает, как делать то, что вы хотите.

+11

Причиной перенаправления с HTTPS на HTTP является потому что страница будет включать контент третьей стороны, который у вас нет, и вы не знаете, будет ли он защищен или нет. Внедрение незащищенного контента на защищенной странице может привести к его разрыву. – jmacinnes

0

Иногда это необходимое зло. Мы должны перенаправить на HTTP-страницу из нашего HTTPS-приложения, потому что в Epson-принтере Epson, о котором мы говорим, нет конечной точки HTTPS, чтобы разоблачить ее скрипт.

В Chrome post v38 были применены обходные пути, когда была реализована смешанная блокировка контента, но с Safari в iOS9 нам пришлось перенаправить конкретные страницы, которые будут обслуживаться через HTTP, а затем после их перенаправления обратно на HTTPS для остальных сайта.

Опять же, это не очень, но иногда вам нужно прагматично относиться к этим вещам.

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