コントローラに複数のカスタムAuthorizeAttribute
をスタックすることはできますか?MVC3コントローラのスタッキング許可
私はこのような何かやってみました:
[IsOwner]
[IsFranchisee]
public class CartController : Controller
{
...
}
をが、それは動作が不安定であるのです。時にはうまくいくこともありますが、時にはそうではありません(主に後者です)。
コントローラに複数のカスタムAuthorizeAttribute
をスタックすることはできますか?MVC3コントローラのスタッキング許可
私はこのような何かやってみました:
[IsOwner]
[IsFranchisee]
public class CartController : Controller
{
...
}
をが、それは動作が不安定であるのです。時にはうまくいくこともありますが、時にはそうではありません(主に後者です)。
実装は正しいですか? プロパティを設定しない限り、FilterAttributes
(保証対象外)の注文はありません(AuthorizeAttribute
から派生)。
あなたは動作が不安定であると言いましたので、1つの属性がもう一方の属性をキャンセルする可能性があります。たとえば、ユーザIsOwner == true
ではなく、IsFranchisee == false
です。おそらく許可が与えられているかどうかは、どちらが最初に実行されるかによって決まります。
したがって、属性に注文プロパティを与え、その動作が依然として不規則であるかどうかを確認することができます。
はいできます。 AuthorizeAttribute
のソースで好きな人はAllowMultiple = true
です。
通常、動的承認の場合、コントローラまたはアクションには[Authorize]注釈が1つ与えられ、コントローラまたはアクション内で承認が処理されます。
これは考えられませんでした。しかし、私は私の実装を最後に変更しました。 – Ron