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プロトコルを使用してのみアクセスでき、他のプロトコルを使用することはできません.