1. 程式人生 > >MVC FILTER過濾器(二)

MVC FILTER過濾器(二)

配置文件 summary 錯誤頁 sys 對象 author 添加 自動 over

授權過濾器:

    /// <summary>
    /// 授權過濾器
    /// </summary>
    public class TestAuthorizeAttribute:AuthorizeAttribute
    {
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            filterContext.HttpContext.Response.Write("OnAuthorization<br/>");
            
//註釋掉父類方法,因為父類裏的 OnAuthorization 方法會調用ASP.NET的授權驗證機制 //base.OnAuthorization(filterContext); } }

異常過濾器:

    public class TestHandleErrorAttribute:HandleErrorAttribute
    {
        public override void OnException(ExceptionContext filterContext)
        {
            //1.獲取一場對象
            Exception ex = filterContext.Exception;
            
//2.記錄一場日誌 //3.重定向友好頁面 filterContext.Result = new RedirectResult("~/err.html"); //4.標記一場已經處理完畢 filterContext.ExceptionHandled = true; base.OnException(filterContext); } }

當然,可以在FilterConfig.cs中進行全局過濾

filters.Add(new TestAuthorizeAttribute());
filters.Add(
new TestHandleErrorAttribute());

註:如果自定義錯誤頁面沒有自動跳轉的話

需要去WebConfig配置文件中的<system.web>節點下添加

<customErrors mode="On"></customErrors>

MVC FILTER過濾器(二)