22

を実装する 2 つのクラスを作成しましたAuthorizeAttribute

1 つはグローバルに使用され、Global.asax.cs に設定します。

filters.Add(new FirstAuthorizeAttribute() { Order = 0 });

もう 1 つは呼び出されSecondAuthorizeAttribute、一部のアクション メソッドでのみ使用され、必要なメソッドの属性として使用します。

    [HttpGet]
    [SecondAuthorize]
    public ActionResult LogOut()
    {
        FormsAuthentication.SignOut();
        Session.Clear();
        Session.Abandon();
        return Redirect(Url.Content("~/"));
    }

問題は、SecondAuthorizeAttribute常に の前FirstAuthorizeAttributeに実行されることであり、これを最初に実行する必要があります。注文が役に立たないのですが、どうすればよいですか?

4

3 に答える 3

11

これはロングショットですが、 FirstAuthorizeAttribute に Global および First の値を使用してみましたか?

http://msdn.microsoft.com/en-us/library/system.web.mvc.filterscope(v=vs.98).aspx

http://blog.rajsoftware.com/post/2011/05/14/MVC3-Filter-Ordering.aspx

于 2011-10-25T14:21:35.717 に答える
3

global.asax.cs ファイルで注文が機能していません。要件が注文の場合は、コントローラまたはアクション メソッドに移動して指定します。元:-

[secondAttribute(order=1)] [firstAttribute(order=2)]

ホームコントローラー:コントローラー

また

public ActionResult インデックス()

于 2013-05-30T11:11:22.697 に答える