ASP.NET MVC 強制使用 SSL
- 2009-08-01
- 15533
- 0
最近因為案子有資安的需求,所以某些頁面一定要使用 SSL 來連結,因此利用了 ActionFilter 來做一個很簡單的解法。
本篇文章撰寫的時候是ASP.NET MVC 1.0,現在ASP.NET MVC 2.0已經擁有RequireHttps這個 ActionFilter 可以用了
以下就是完整的 Code
namespace MvcApplication { public class SSLAttribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { if (!filterContext.HttpContext.Request.IsSecureConnection) { filterContext.Result = new RedirectResult("https://" + filterContext.HttpContext.Request.Url.Authority + filterContext.HttpContext.Request.Url.PathAndQuery); } } public override void OnActionExecuted(ActionExecutedContext filterContext) { } public override void OnResultExecuting(ResultExecutingContext filterContext) { } public override void OnResultExecuted(ResultExecutedContext filterContext) { } } }
ASP.NET MVC 中很多事情都是要使用 ActionFilter 來實作,所以玩 ASP.NET MVC 一定要學會 ActionFilter的寫法。
回應討論