Ответ 1
Мое предположение:
[RequireHttps] //apply to all actions in controller
public class SomeController
{
//... or ...
[RequireHttps] //apply to this action only
public ActionResult SomeAction()
{
}
}
Как я могу использовать атрибут RequireHttps ASP.NET MVC 2 Preview 2 Futures?
Я хочу предотвратить отправку необработанных HTTP-запросов в метод действия. Я хочу автоматически перенаправить на HTTPS.
MSDN:
Как использовать эту функцию?
Мое предположение:
[RequireHttps] //apply to all actions in controller
public class SomeController
{
//... or ...
[RequireHttps] //apply to this action only
public ActionResult SomeAction()
{
}
}
Думаю, вам понадобится катить свой ActionFilterAttribute
для этого.
public class RedirectHttps : ActionFilterAttribute {
public override void OnActionExecuting(ActionExecutingContext filterContext) {
if (!filterContext.HttpContext.Request.IsSecureConnection) {
filterContext.Result =
new RedirectResult(filterContext.HttpContext.Request.Url.
ToString().Replace("http:", "https:"));
filterContext.Result.ExecuteResult(filterContext);
}
base.OnActionExecuting(filterContext);
}
}
Затем в вашем контроллере:
public class HomeController : Controller {
[RedirectHttps]
public ActionResult SecuredAction() {
return View();
}
}
Возможно, вы захотите прочитать этот.