AuthorizationStoreRoleProvider クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
xml ファイル、Active Directory、または Active Directory アプリケーション モード サーバーのいずれかの authorization-manager ポリシー ストアで、ASP.NET アプリケーションのロール メンバーシップ情報の保存を管理します。
public ref class AuthorizationStoreRoleProvider : System::Web::Security::RoleProvider
public class AuthorizationStoreRoleProvider : System.Web.Security.RoleProvider
type AuthorizationStoreRoleProvider = class
inherit RoleProvider
Public Class AuthorizationStoreRoleProvider
Inherits RoleProvider
- 継承
例
次のコード例は、ロール管理に AuthorizationStoreRoleProvider を使用する Web.config ファイル セットを示しています。
<configuration>
<connectionStrings>
<add name="AuthorizationServices" connectionString="msxml://~\App_Data\SampleStore.xml" />
</connectionStrings>
<system.web>
<authentication mode="Windows" />
<identity impersonate="true" />
<roleManager defaultProvider="AuthorizationStoreRoleProvider"
enabled="true"
cacheRolesInCookie="true"
cookieName=".ASPROLES"
cookieTimeout="30"
cookiePath="/"
cookieRequireSSL="false"
cookieSlidingExpiration="true"
cookieProtection="All" >
<providers>
<clear />
<add
name="AuthorizationStoreRoleProvider"
type="System.Web.Security.AuthorizationStoreRoleProvider"
connectionStringName="AuthorizationServices"
applicationName="SampleApplication"
cacheRefreshInterval="60"
scopeName="" />
</providers>
</roleManager>
</system.web>
</configuration>
注釈
このクラスは、Roles クラスと RolePrincipal クラスによって使用され、authorization-manager ストアを使用して ASP.NET アプリケーションのロール管理サービスを提供します。 ロール管理を使用して、アプリケーションのさまざまなレベルの承認を指定できます。 承認マネージャーには、Microsoft 管理コンソールを使用してアクセスできます。
AuthorizationStoreRoleProvider オブジェクトは、Windows 認証認証モードとフォーム認証モードの両方で動作します。
ローカル XML ファイル、Active Directory、またはアプリケーション モード (ADAM) サーバーを使用するように AuthorizationStoreRoleProvider オブジェクトActive Directory構成できます。 ローカル ファイルを使用する場合、接続文字列は次の例のようになります。
msxml://<path to xml file>
ローカル ファイルが ASP.NET Web アプリケーションのディレクトリ ツリーに格納されている場合は、チルダ ("~") 文字を使用してルート ディレクトリを示すことができます。 たとえば、ローカル ファイルが Web アプリケーションのデータ ディレクトリに格納されていることを示すには、次の例のような接続文字列を使用します。
msxml://~\App_Data\datafilename.xml
Important
XML データ ファイルを Web アプリケーション ディレクトリに格納することは、潜在的なセキュリティ上の脅威です。 既定では、IIS は XML データ ファイルを Web に提供します。 ASP.NET アプリケーションでローカル データ ファイルを使用する場合のセキュリティを強化するには、データ ファイルを App_Data ディレクトリに格納する必要があります。
App_Data ディレクトリに格納されているファイルは Web に提供されません。
ポリシー ストアにActive Directoryまたは ADAM サーバーを使用している場合、接続文字列は次の例のようになります。
msldap://myserver/CN=MyAzManStore,OU=MyOU,DC=MyDomain,DC=MyDC,DC=Com
AuthorizationStoreRoleProvider オブジェクト メソッドのドキュメントに記載されている例外は、AuthorizationStoreRoleProvider オブジェクトによって発生する例外です。 プロバイダーは基になる認証マネージャー ランタイムに依存しているため、COMException オブジェクトが認証マネージャー ランタイムにメソッド呼び出しを転送するたびに、AuthorizationStoreRoleProvider例外がスローされる可能性があります。
Important
AuthorizationStoreRoleProvider オブジェクトには、部分信頼環境で実行するための次の要件があります。
ASP.NET アプリケーションでファイル ベースのポリシー ストアを使用する場合、現在の信頼レベルによって付与されるファイル I/O アクセス許可によって、プロバイダーが読み取りおよび書き込みアクションを許可するかどうかが決まります。 ASP.NET アプリケーションには、ポリシー ストアからデータを読み取るファイルに対する読み取りアクセス許可が必要です。また、新しい情報を保存したり、ポリシー ストア内の既存の情報を更新したりするための書き込みアクセス許可が必要です。 既定の中信頼ポリシー ファイルは、アプリケーション ディレクトリに ASP.NET アプリケーションの読み取り/書き込みアクセス許可を与えます。 既定の低信頼ポリシー ファイルでは、アプリケーション ディレクトリ内の ASP.NET アプリケーション読み取りアクセス許可のみが付与されます。 さらに、ASP.NET アプリケーションを実行するプロセス ID には、ポリシー ファイルの読み取りと書き込みを行うファイル システムのアクセス許可が必要です。
Active Directoryまたは ADAM サーバーを使用する場合、内部AuthorizationStoreRoleProvider オブジェクト コードでは COM 相互運用機能が使用されるため、ASP.NET アプリケーションにはアンマネージ コードのアクセス許可が必要です。
ASP.NET の外部で AuthorizationStoreRoleProvider オブジェクトを使用する場合、呼び出し元のコードにはアンマネージ コードのアクセス許可が必要です。
コンストラクター
| 名前 | 説明 |
|---|---|
| AuthorizationStoreRoleProvider() |
AuthorizationStoreRoleProvider クラスの新しいインスタンスを初期化します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| ApplicationName |
ロール情報を格納および取得する承認ストア アプリケーションの名前を取得または設定します。 |
| CacheRefreshInterval |
ポリシー ストア データのキャッシュの更新間隔 (分) を取得します。 |
| Description |
管理ツールやその他のユーザー インターフェイス (UI) での表示に適した簡単でわかりやすい説明を取得します。 (継承元 ProviderBase) |
| Name |
構成時にプロバイダーを参照するために使用されるフレンドリ名を取得します。 (継承元 ProviderBase) |
| ScopeName |
承認ストアのスコープ名を取得または設定します。 |
メソッド
| 名前 | 説明 |
|---|---|
| AddUsersToRoles(String[], String[]) |
指定した各ロールに、指定したユーザー名を追加します。 |
| CreateRole(String) |
ロール authorization-manager ポリシー ストアに新しいロールを追加します。 |
| DeleteRole(String, Boolean) |
authorization-manager ポリシー ストアからロールを削除します。 |
| Equals(Object) |
指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
| FindUsersInRole(String, String) |
このメソッドは、承認ストア ロール プロバイダーではサポートされていません。 |
| GetAllRoles() |
アプリケーションのすべてのロールの一覧を取得します。 |
| GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
| GetRolesForUser(String) |
ユーザーが存在するロールの一覧を取得します。 |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| GetUsersInRole(String) |
指定したロールのユーザーの一覧を取得します。 |
| Initialize(String, NameValueCollection) |
ASP.NET アプリケーションの構成ファイルで指定されたプロパティ値を使用して、authorization-manager ロール プロバイダーを初期化します。 このメソッドは、コードから直接使用するためのものではありません。 |
| IsUserInRole(String, String) |
指定したユーザーが指定したロールに含まれているかどうかを示す値を取得します。 |
| MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| RemoveUsersFromRoles(String[], String[]) |
指定したロールから指定したユーザー名を削除します。 |
| RoleExists(String) |
指定したロール名が authorization-manager ポリシー ストアに既に存在するかどうかを示す値を取得します。 |
| ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |