zukucode
主にWEB関連の情報を技術メモとして発信しています。

ASP.NET cookie認証をすべてのコントローラーにデフォルト設定する

ASP.NETで認証保護を設定するにはコントローラー全体もしくはメソッドごとに以下のよう設定していると思います。

    [HttpGet]
    [Authorize]
    public IEnumerable<WeatherForecast> Get()

デフォルトですべてのルートに認証保護を設定したい場合は以下のようにStartup.csに設定します。

Startup.cs(一部抜粋)
public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers(options =>
    {
        // すべてのアクセスに対して認証保護を適用する
        options.Filters.Add(new AuthorizeFilter(new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build()));
    })

こうすることにより、すべてルートで認証保護が有効になります(デフォルトで[Authorize]ついた状態)


関連記事