ASP.NET MVC 強制使用 SSL
- 2009-08-01
- 17593
- 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的寫法。









回應討論