ASP.NET MVC RequireHttps

Zac*_*son 12 asp.net-mvc ssl https asp.net-mvc-futures asp.net-mvc-2

如何使用ASP.NET MVC 2 Preview 2 Futures RequireHttps属性?

我想防止将不安全的HTTP请求发送到操作方法.我想自动重定向到HTTPS.

MSDN:

我该如何使用此功能?

Çağ*_*kin 15

我认为你需要自己动手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);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在你的控制器中:

public class HomeController : Controller {

    [RedirectHttps]
    public ActionResult SecuredAction() {
        return View();
    }
}
Run Code Online (Sandbox Code Playgroud)

您可能也想阅读此内容.


Jan*_*m B 11

我猜:

[RequireHttps] //apply to all actions in controller
public class SomeController 
{
  //... or ...
  [RequireHttps] //apply to this action only
  public ActionResult SomeAction()
  {
  }

}
Run Code Online (Sandbox Code Playgroud)

  • ASP.NET MVC RequireHttps仅适用于生产:http://stackoverflow.com/questions/1639707/asp-net-mvc-requirehttps-in-production-only (5认同)

归档时间:

查看次数:

9326 次

最近记录:

16 年,2 月 前