[Authorize] 属性をすべての Web API コントローラーに暗黙的に適用する

2 つのオプションがあります

<オール> <リ>

コントローラーをauthorize属性で装飾することによるコントローラーレベル。

[Authorize]
[RoutePrefix("api/account")]
public class AccountController : ApiController
{
<リ>

Register で、すべてのルートにグローバル レベルを設定することもできます。 WebApiConfig.cs ファイルのメソッド

 config.Filters.Add(new AuthorizeAttribute());

AuthorizeAttribute を設定できます WebApiConfig へ 以下のようなファイル:

public static void Register(HttpConfiguration config)
{
  config.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional }
  );
  config.Filters.Add(new AuthorizeAttribute());
}

これで、Web Api コントローラーからのすべてのメソッドに承認が必要になります。メソッドのこの承認要件を削除する場合は、属性 [AllowAnonymous] を追加する必要があります Login アクション メソッドと同様です。