ASP.NET Coreアプリケーションで標準の認証システムをセットアップしました。 (権限として機能する)ASP.NET Core IdentityでAuthorize属性を持つ複数のポリシーの1つを確認する
ユーザ、ロール、RoleClaims
Startup.csで私はそれぞれの役割や、各許可のポリシーを作成します。これが私のビューに完全な柔軟性を与えるとすれば、ユーザーがDeleteCustomerを要求するロールの一部である場合、またはUserがロールSuperuserに属している場合に、このボタンを表示させることができます。
Authorize属性を使用してOR条件を実行するにはどうすればよいですか。たとえば、私のサイト全体では、SuperuserRole Policyにすべての権限を完全に付与したいと考えています。アクションメソッドの私は、次のを持っているとしましょう以上
:
[承認(ポリシー=「EditCustomer」)]
これは、ログインしているユーザーは、請求項を持つロールに割り当てられている必要があります:Edit.CustomerクレームEdit.Customerのポリシーを作成しています。これはうまくいきますが、ロールスーパーユーザを持つユーザがEditCustomerアクションメソッドにアクセスできるようにするにはどうすればよいですか?スーパーユーザーは、データベースにRoleとして追加され、さらにRequireSuperUserというポリシーとして追加されます。
これはあなたのために働いていますか?私も同様の問題に直面していました。 @リチャード・ミーナンの答えは私の投票を得て、私のために働いた。それが他の人を助けるので、これに対する答えを得ることは良いでしょう。 – Bronumski