Asp.Net MVC 2.0 Filter基本使い方



このセクションでは、mvc 2.0のfilterについて一緒に勉強します.簡単に言えば、filterはactionにマークされたいくつかの属性であり、actionの制御を実現します.
   mvc2.0には主に以下のfilterが含まれます.
   1. Authorize
   2.HandleError
   3.RequireHttps
   4.OutputCache
       1. まずAuthorizeについてお話しします
Authorizeは主にユーザーの権限とアクセスを実現するために使用されます.   
 [Authorize(Roles="Admins",Users="zx")]
        public ActionResult DellUser(string userName)
        {
            return View("about");
        }

上記のコードは、DellUserというactionがadminsの下のzxユーザーのみにアクセスでき、他のユーザーとロールはアクセスできないことを示しています.
 
   2.HandleError
     
[HandleError(Order=1,ExceptionType=typeof(ArgumentException),View="Error")]
        [HandleError(Order=2,ExceptionType=typeof(Exception))]
        public ActionResult DellUser(string userName)
        {
            if (string.IsNullOrEmpty(userName))
            {
                throw new ArgumentException();
            }
            return View("about");
        }

HandleErrorは例外処理として使用され、orderは例外を処理する順序を表し、数字が小さいほど優先度が高い.
ExceptionTypeは異常タイプを示します
Viewは異常発生後に転向するページを示す.  
   3.OutputCache
  
      [OutputCache(Duration=60)]
        public ActionResult DellUser(string userName)
        {
            return View("about");
        }

OutputCacheはページキャッシュを表すもので、WEBFORM時代にはASP.NETページではこの属性を直接設定でき、MVCではACTIONに直接属性をマークする.
 
   4. RequireHttps
   
   [RequireHttps]
        public ActionResult DellUser(string userName)
        {
            return View("about");
        }

RequireHttpsは、DellUserというactionはhttpsプロトコルを使用してのみアクセスでき、他のプロトコルを使用することはできません.