ASP.NET Core でベアラー トークンを使用して既定ですべてのコントローラーを保護する方法は?

次の例のように、引き続きフィルタを使用できます:

services.AddMvc(config =>
{
    var policy = new AuthorizationPolicyBuilder()
                 .RequireAuthenticatedUser()
                 .Build();
    config.Filters.Add(new AuthorizeFilter(policy));
});

この例のポリシーは非常に単純ですが、さまざまな要件、役割などのポリシーを構成する方法はたくさんあります。


.Net Core 3 から始まる 少し異なる方法があります:

app.UseEndpoints(endpoints =>
{
    endpoints
        .MapControllers()
        .RequireAuthorization(); // This will set a default policy that says a user has to be authenticated
});

デフォルトのポリシーを変更したり、新しいポリシーを追加して使用することもできます。