Страницы SSL в соответствии с ASP.NET MVC

adb shell am force-stop packagename
80
задан Robert Gamble 11 November 2008 в 20:39
поделиться

8 ответов

Если вы используете ASP.NET MVC 2 Preview 2 или выше , теперь вы можете просто использовать:

[RequireHttps]
public ActionResult Login()
{
   return View();
}

Хотя параметр порядка стоит отметить, как упоминается здесь .

92
ответ дан 24 November 2019 в 09:56
поделиться

Некоторые расширения ActionLink: http://www.squaredroot.com/post/2008/06/11/MVC-and-SSL.aspx Или атрибут действия контроллера, который перенаправляет к https:// http://forums.asp.net/p/1260198/2358380.aspx#2358380

3
ответ дан David Laing 5 November 2019 в 17:41
поделиться

Вот сообщение в блоге Пабло М. Сибрано за январь 2009 года, в котором собрана пара методы, включая HttpModule и методы расширения.

1
ответ дан 24 November 2019 в 09:56
поделиться

Вот сообщение в блоге Адама Сальво , в котором используется ActionFilter.

1
ответ дан 24 November 2019 в 09:56
поделиться

MVCFutures имеет атрибут 'RequireSSL'.

(спасибо Адаму за указание на в обновленном сообщении в блоге)

Просто примените его к своему action с 'Redirect = true', если вы хотите, чтобы запрос http: // автоматически стал https: //:

    [RequireSsl(Redirect = true)]

См. также: ASP.NET MVC RequireHttps только в рабочей среде

17
ответ дан 24 November 2019 в 09:56
поделиться

Вот недавнее сообщение Дэна Валина по этому поводу:

http://weblogs.asp.net/dwahlin/archive/2009/08/25/requiring-ssl-for-asp -net-mvc-controllers.aspx

Он использует атрибут ActionFilter.

8
ответ дан 24 November 2019 в 09:56
поделиться

Как Амадьер написал , [RequireHttps] отлично работает в MVC 2 для ввода HTTPS. Но если вы хотите использовать HTTPS только для некоторых страниц, как вы сказали, MVC 2 не понравится вам - как только он переключает пользователя на HTTPS, они застревают там, пока вы вручную не перенаправите их.

Подход, который я использовал, заключается в использовании другого настраиваемого атрибута [ExitHttpsIfNotRequired]. При подключении к контроллеру или действию он будет перенаправлен на HTTP, если:

  1. Запрос был HTTPS
  2. Атрибут [RequireHttps] не был применен к действию (или контроллеру)
  3. Запрос был GET (перенаправление POST приведет к разного рода неприятностям).

Это слишком велико для публикации здесь, но вы можете увидеть код здесь плюс некоторые дополнительные сведения.

9
ответ дан 24 November 2019 в 09:56
поделиться

Это не обязательно специфично для MVC, но это решение работает и для ASP.NET WebForms, и для MVC:

http://www.codeproject.com/KB/web-security/WebPageSecurity_v2.aspx

Я использую это уже несколько лет, и мне нравится разделение задач и управление через файл web.config.

1
ответ дан 24 November 2019 в 09:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: