IAuthorizationFilterの研究ノート(アクセス制御)

ステップ1:インタフェースCheckLoginFilter IAuthorizationFilterを実装するクラスを作成します。インタフェースは、名前空間System.Web.Mvcを使用して配置されていることに注意してください。

公共ボイドOnAuthorization(AuthorizationContext filterContext)
{
ストリングコントローラ名= filterContext.ActionDescriptor.ControllerDescriptor.ControllerName。
文字列actionNameの= filterContext.ActionDescriptor.ActionName。
(コントローラ名== "ログイン" &&(actionName.ToUpper()== "インデックス" .ToUpper()|| actionName.ToUpper()== "ログイン" .ToUpper()))であれば
{

}

{
//ログイン状態を確認
(filterContext.HttpContext.Session [ "ユーザ名"] == NULL)IF
{
ContentResult ContentResult新しい新しい= CON();
con.Content = "着陸しない";
filterContext.Result = CON;
}
}
}

第2のステップとのGlobal.asaxでフィルタに追加

GlobalFilters.Filters.Add(新しいCheckLoginFilter());

コードは、上で示した場合、セッションは、文字列に戻るないログと、すなわち、検出されません。ユーザーがログインしていないときにも同じことがランディングページへのジャンプを実現することができます。コードは次の通り:

// ContentResultコン=新しいContentResult();
//con.Content = "没有登陆"。
RedirectResultは、Red =新しいRedirectResultを( "/ログイン/インデックス");
赤色filterContext.Result =。

実際には、クラスRedirectResultの使用。

おすすめ

転載: www.cnblogs.com/yagamilight/p/12217912.html