ホームページ >バックエンド開発 >C++ >単純な請求要件のためにASP.NETコアでカスタムauthorizeattributeを作成する方法は?

単純な請求要件のためにASP.NETコアでカスタムauthorizeattributeを作成する方法は?

Susan Sarandon
Susan Sarandonオリジナル
2025-02-01 18:21:09778ブラウズ

How to Create a Custom AuthorizeAttribute in ASP.NET Core for Simple Claim Requirements?

asp.netコアでカスタムauthorizeattributeを作成して、簡単な声明の要件を満たす

ASP.NET Coreの初期バージョンでは、

を書き換えることでカスタムbool AuthorizeCore(HttpContextBase httpContext)を作成できます。ただし、このメソッドはには存在しなくなりました。 AuthorizeAttribute AuthorizeAttributeカスタムを作成する現在の方法

は、新しい戦略的設計を使用することであり、そのドキュメントは

AuthorizeAttributeです。この新しい方法の基本的なアイデアは、新しい機能を使用して「戦略」を指定することです。以上)。 [Authorize]戦略的設計はフレームワークの優れた補足であり、ASP.NETセキュリティのコアチームはこれを賞賛する必要があります。言い換えれば、それはすべての状況には適していません。この方法の欠点は、最も一般的なニーズに便利なソリューションを提供できないことです。指定する必要がある特定のコントローラーまたは操作ステートメントを単純に主張するだけです。アプリケーションに、単一のRESTリソース(「Cancreaterordordord」、「CanupDate Order」、「CandeLeteOrder」などでCRUD操作を管理するための数百の個別のアクセス許可がある場合、新しい方法には戦略名と宣言が必要でなければなりません名前を繰り返します - 1つのマッピング(例:[Authorize(Policy = "YouNeedToBe18ToDoThis")])、ランタイム中にこれらの登録を実行するコードを記述します(たとえば、データベースからのすべてのタイプの宣言を読み、サイクル内の上記の呼び出しを実行します)。ほとんどの場合、この方法の問題は、それが過剰なオーバーヘッドであることです。 Startup.cs

ASP.NETコアセキュリティチームは、独自のソリューションを作成しないことを推奨していますが、場合によっては、これが最も慎重な開始オプションかもしれません。

options.AddPolicy("CanUpdateOrder", policy => policy.RequireClaim(MyClaimTypes.Permission, "CanUpdateOrder"));以下は、の実装です。

以上が単純な請求要件のためにASP.NETコアでカスタムauthorizeattributeを作成する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。