0

Windows認証を介したアクセスを許可し、ASP.netロールプロバイダーを使用して承認を提供するMVC2サイトがあります。ユーザーが特定のグループのメンバーである場合にユーザーがサイトにアクセスできるようにする方法を考えているので、SQLでユーザーをサインアップする必要はありませんが、アクセス権を持つグループをサインアップするだけです。 。誰かがこれを行う方法を知っていますか?迅速で汚い方法はありますか?これまでのところ、私のインターネットの閲覧では、これを行うための迅速で汚い方法を見つけていませんか?どんな助けでも素晴らしいでしょう。

ありがとう

4

1 に答える 1

0

ユーザーの役割/グループ情報の検索

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

于 2011-10-20T17:28:33.127 に答える