ASP.NET MVC RequireHttps

前端 未结 2 1841
说谎
说谎 2020-12-06 11:02

How do I use the ASP.NET MVC 2 Preview 2 Futures RequireHttps attribute?

I want to prevent unsecured HTTP requests from being sent to an action method. I want to au

相关标签:
2条回答
  • 2020-12-06 11:31

    I think you're going to need to roll your own ActionFilterAttribute for that.

    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);
        }
    }
    

    Then in your controller :

    public class HomeController : Controller {
    
        [RedirectHttps]
        public ActionResult SecuredAction() {
            return View();
        }
    }
    

    You might want to read this as well.

    0 讨论(0)
  • 2020-12-06 11:36

    My guess:

    [RequireHttps] //apply to all actions in controller
    public class SomeController 
    {
      //... or ...
      [RequireHttps] //apply to this action only
      public ActionResult SomeAction()
      {
      }
    
    }
    
    0 讨论(0)
提交回复
热议问题