Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save souri-t/5f59658d66e4e7d856d0c03adef6f4d9 to your computer and use it in GitHub Desktop.
Save souri-t/5f59658d66e4e7d856d0c03adef6f4d9 to your computer and use it in GitHub Desktop.

BlazorアプリでWindows認証を実装するには、以下の手順に従ってください。

ASP.NET CoreのWindows認証を有効にする まず、ASP.NET CoreアプリケーションでWindows認証を有効にする必要があります。これは、アプリケーションのStartup.csファイルのConfigureServicesメソッドで行うことができます。次のように、AddAuthenticationメソッドを呼び出して、Windows認証を有効にします。

scss Copy code services.AddAuthentication(IISDefaults.AuthenticationScheme); Blazorアプリで認証を使用する 次に、Blazorアプリで認証を使用できるようにします。これには、BlazorアプリのApp.razorファイルで、AuthorizeViewコンポーネントを使用することが含まれます。AuthorizeViewコンポーネントは、ユーザーが認証されている場合にコンポーネントを表示し、認証されていない場合に非表示にします。

<AuthorizeView>
    <Authorized>
        <!-- 認証された場合のコンポーネント -->
    </Authorized>
    <NotAuthorized>
        <!-- 認証されていない場合のコンポーネント -->
    </NotAuthorized>
</AuthorizeView>

認証情報を取得する 最後に、Blazorアプリ内でWindows認証を使用するために、認証情報を取得する必要があります。これには、HttpContextクラスを使用して、現在のユーザーのWindowsアカウント情報を取得することができます。

例えば、以下のようにHttpContextを使用して、現在のユーザーのWindowsアカウント情報を取得できます。

@page "/"
@using System.Security.Claims
@inject Microsoft.AspNetCore.Http.IHttpContextAccessor HttpContextAccessor

<p>現在のユーザー: @HttpContextAccessor.HttpContext.User.Identity.Name</p>

以上の手順に従って、BlazorアプリでWindows認証を実装することができます。

Windows認証を使用するために、以下のパッケージを導入する必要があります。

Microsoft.AspNetCore.Authentication.Negotiate: このパッケージは、Negotiate認証スキームを提供するASP.NET Core認証ライブラリーです。Windows認証を実装するには、このパッケージが必要です。 Microsoft.AspNetCore.Authorization: このパッケージは、ASP.NET Coreの認証および認可システムをサポートするライブラリーです。Blazorアプリケーションでの認証および認可を実装するために使用されます。 これらのパッケージは、Blazorアプリケーションのプロジェクトファイルで以下のように指定してインストールできます。

<ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Authentication.Negotiate" Version="6.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Authorization" Version="6.0.0" />
</ItemGroup>

ここでバージョンは最新の.NET 6に対応したものを使用してください。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment