Возможно, вы захотите взглянуть на сборку фьючерсов MVC от Microsoft , доступную для загрузки здесь.
У этого есть FilterAttribute, RequireSslFilterAttribute, который позволяет вам легко помечать методы действия в вашем контроллере, которые требуют SSL - например,
[RequireSsl(Redirect=true)]
public ActionResult LogOn()
{
return View();
}
Необязательный параметр redirect приведет к тому, что запрос будет перенаправлен на тот же URL-адрес, но через https вместо http, если требуется.
ПРЕДУПРЕЖДЕНИЕ. Однако, как отмечает Дэниел, к тому времени, когда вы выполните это действие, может быть уже слишком поздно, если данные были опубликованы в небезопасной версии страницы - они уже потенциально могут быть скомпрометированы, поэтому вам все равно нужно проявлять осторожность при использовании этого и убедитесь, что все конфиденциальные данные отправляются через https. (Я только что заметил ваш комментарий к Дэниелу, вы, очевидно, понимаете это, я оставлю здесь предупреждение для всех, кто наткнется на это!)
РЕДАКТИРОВАТЬ: Как указывает Люк, в MVC2 этот атрибут теперь является частью базовой структуры и переименован в [RequireHttps]