Share via


AuthorizationStoreRoleProvider クラス

定義

承認管理ポリシー ストア内での ASP.NET アプリケーションのロール メンバーシップ情報のストレージを管理します。これらの情報は XML ファイル、Active Directory、または Active Directory Application Mode サーバーに格納されます。

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

次のコード例は、ロール管理に を使用 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>  

注釈

このクラスは、 クラスと RolePrincipal クラスによって使用されRoles、authorization-manager ストアを使用して ASP.NET アプリケーションのロール管理サービスを提供します。 ロール管理を使用して、アプリケーションのさまざまなレベルの承認を指定できます。 承認マネージャーには、Microsoft管理コンソールを使用してアクセスできます。

オブジェクトはAuthorizationStoreRoleProvider、Windows 認証認証モードとフォーム認証モードの両方で動作します。

ローカル XML ファイルまたは Active Directory または Active Directory アプリケーション モード (ADAM) サーバーを使用するように オブジェクトを構成 AuthorizationStoreRoleProvider できます。 ローカル ファイルを使用する場合、接続文字列は次の例のようになります。

msxml://<path to xml file>  

ローカル ファイルが ASP.NET Web アプリケーションのディレクトリ ツリーに格納されている場合は、チルダ ("~") 文字を使用してルート ディレクトリを示すことができます。 たとえば、ローカル ファイルが Web アプリケーションのデータ ディレクトリに格納されていることを示すには、次の例のような接続文字列を使用します。

msxml://~\App_Data\datafilename.xml

重要

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 発生する例外です。 プロバイダーは基になる Authentication Manager ランタイムに依存しているため、オブジェクトがメソッド呼び出しを COMExceptionAuthorizationStoreRoleProvider Authentication Manager ランタイムに転送するたびに例外がスローされる場合があります。

重要

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)

新しいロールをロール承認マネージャー ポリシー ストアに追加します。

DeleteRole(String, Boolean)

ロールを承認マネージャー ポリシー ストアから削除します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
FindUsersInRole(String, String)

このメソッドは、承認ストア ロール プロバイダーではサポートされていません。

GetAllRoles()

アプリケーションのすべてのロールのリストを取得します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetRolesForUser(String)

ユーザーに割り当てられたロールのリストを取得します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetUsersInRole(String)

指定されたロールに属するユーザーのリストを取得します。

Initialize(String, NameValueCollection)

ASP.NET アプリケーションの構成ファイルに指定されているプロパティ値を使用して、承認マネージャー ロール プロバイダーを初期化します。 このメソッドはコードから直接使用するためのものではありません。

IsUserInRole(String, String)

指定したユーザーが指定したロールに存在するかどうかを示す値を取得します。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
RemoveUsersFromRoles(String[], String[])

指定されたユーザー名を指定されたロールから削除します。

RoleExists(String)

指定されたロール名が承認マネージャー ポリシー ストアに既に存在するかどうかを示す値を取得します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください