ホームページ  >  記事  >  バックエンド開発  >  C# Asp.Net WebAPI での authorization 属性の用途は何ですか?

C# Asp.Net WebAPI での authorization 属性の用途は何ですか?

王林
王林転載
2023-08-25 23:37:081348ブラウズ

認可は、認証されたユーザーに操作の実行を許可するかどうかを決定するプロセスです 特定のリソース(Web APIリソース)に対して操作を実行するかどうか。例えば、 データを取得および公開する権限を持つことは、承認の一部です。これ 承認プロセスは、コントローラーのアクション メソッドを実行する前に発生します。 リソースへのアクセスを許可するかどうかを柔軟に決定できるようにします。 か否か。

ASP.NET Web API では、承認フィルターを使用して承認が実現されます。 コントローラーのアクションメソッドが実行される前に実行されます。ウェブAPI 組み込みの承認フィルター AuthorizeAttribute を提供します。このフィルターはチェックします ユーザーが認証されているかどうか。そうでない場合は、HTTP ステータス コード 401 が返されます。 (無許可)、アクションは必要ありません。

フィルターをグローバル、コントローラー レベル、または個別レベルに適用できます。 操作する。

グローバル

各 Web API コントローラーへのアクセスを制限するには、AuthorizeAttribute フィルターを グローバルフィルターリスト。

public static void Register(HttpConfiguration config){
   config.Filters.Add(new AuthorizeAttribute());
}

Controller

特定のコントローラーへのアクセスを制限するには、フィルターを属性として追加します。 コントローラ。

//コントローラー上のすべての操作には承認が必要です。 [認可]

public class StudentsController: ApiController{
   public HttpResponseMessage Get(int id) { ... }
   public HttpResponseMessage Post() { ... }
}

Operation

特定の操作へのアクセスを制限するには、この属性をアクション メソッドに追加します。

public class StudentsController : ApiController{
   public HttpResponseMessage Get() { ... }
   // Require authorization for a specific action.
   [Authorize]
   public HttpResponseMessage Post() { ... }
}

Example

using System.Web.Http;
namespace DemoWebApplication.Controllers{
   public class DemoController : ApiController{
      [Authorize]
      public IHttpActionResult Get(){
         return Ok();
      }
   }
}

アクション メソッドに認可属性を追加したため、アクション メソッドには適切な認可 (ベアラー トークン、API キー、OAuth など) を使用してアクセスする必要があります。不正アクセスの場合、以下に示すように 401 Unauthorized 応答が返されます。

C# Asp.Net webAPI 中的授权属性有什么用?

以上がC# Asp.Net WebAPI での authorization 属性の用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。