ユーザーの役割/グループ情報の検索
ASP.NETは、便利な「ロール管理」機能を提供します。これにより、開発者はユーザーを論理的な「ロール」にマップし、エンドユーザーの機能と承認アクセスをより適切に制御できます。たとえば、開発者として、Webアプリケーションの「マネージャー」と呼ばれるロールを作成し、サイトの一部へのアクセスを「マネージャー」ロール内のユーザーのみに制限することができます(注:追加のレシピを将来的には、役割管理の承認と機能の機能を完全に使用する方法について詳しく説明します)。
Windows認証を使用する場合、ASP.NETを使用すると、開発者は複数のソースから役割を作成してデータを取り込むことができます。たとえば、開発者は、組み込みのASP.NET 2.0 SqlRoleProviderをセットアップして、Windowsユーザーをデータベース内に格納されているカスタムアプリケーションロールにマップできます。このアプローチは、一元化されたActiveDirectoryツリー/ストアにプッシュする意味がないアプリケーション固有の役割マッピングが存在する可能性があるシナリオで非常に役立ちます。
ASP.NETを使用すると、アプリケーション内から中央のWindowsおよびActiveDirectoryグループマッピングに簡単にアクセスすることもできます。たとえば、ActiveDirectoryネットワーク上に「DOMAIN\managers」というWindowsグループがある場合、ASP.NETアプリケーションは、次のようなコードを記述して、ASP.NETサイトにアクセスしている現在のWindows認証ユーザーがこのグループに属しているかどうかを検索できます。
If User.IsInRole("DOMAIN\managers") Then
Label1.Text = User.Identity.Name & " is a manager"
Else
Label1.Text = User.Identity.Name & " is not a manager"
End If
ロール/グループのルックアップは、User.Identity.Nameプロパティのピアである「User.IsInRole(rolename)」メソッドを介して行われることに注意してください。
src
http://weblogs.asp.net/scottgu/archive/2006/07/12/Recipe_3A00_-Enabling-Windows-Authentication-within-an-Intranet-ASP.NET-Web-application.aspx