次の方法で共有


AuthorizationStoreRoleProvider.ApplicationName プロパティ

定義

ロール情報を格納および取得する承認ストア アプリケーションの名前を取得または設定します。

public:
 virtual property System::String ^ ApplicationName { System::String ^ get(); void set(System::String ^ value); };
public override string ApplicationName { get; set; }
member this.ApplicationName : string with get, set
Public Overrides Property ApplicationName As String

プロパティ値

ロール情報を格納および取得する承認ストア アプリケーションの名前。 既定値は、現在の ApplicationPathRequest プロパティ値です。

例外

ApplicationName に 256 文字を超える文字列を設定しようとしました。

次の例は、 <ASP.NET アプリケーションの Web.config ファイルの セクションにある roleManager> 要素 system.web を示しています。 アプリケーション AuthorizationStoreRoleProvider のインスタンスを指定し、 プロパティを ApplicationNameMyApplication設定します。

<roleManager defaultProvider="AuthorizationStoreProvider"   
  enabled="true"  
  cacheRolesInCookie="true"  
  cookieName=".ASPROLES"  
  cookieTimeout="30"  
  cookiePath="/"  
  cookieRequireSSL="false"  
  cookieSlidingExpiration="true"  
  cookieProtection="All" >  
  <providers>  
    <add  
      name="SqlProvider"  
      type="System.Web.Security.AuthorizationStoreRoleProvider"  
      connectionStringName="AuthorizationStoreServices"   
      scopeName="MyScope"  
      applicationName="MyApplication" />  
  </providers>  
</roleManager>  

注釈

ApplicationNameは、 によってAuthorizationStoreRoleProviderユーザーとロールを異なる authorization-manager アプリケーションに関連付けるために使用されます。これにより、複数の ASP.NET アプリケーションで同じ authorization-manager ポリシー ストアを使用して、重複するロール名の間で競合することなくロール情報を格納できます。 または、複数の ASP.NET アプリケーションで、 プロパティに同じ値を指定することで、同じポリシー ストアを ApplicationName 使用できます。 プロパティは ApplicationName プログラムで設定することも、 属性を使用 applicationName してアプリケーションの Web.config ファイルで宣言的に設定することもできます。

Web.config ファイルの 属性にapplicationName値が指定されていない場合は、現在HttpContext.RequestのオブジェクトのHttpRequest.ApplicationPathプロパティ値が使用されます。

注意

Authorization-manager アプリケーション名には、 プロパティに含まれる "/" 文字を HttpRequest.ApplicationPath 含めることはできません。 その結果、プロパティの既定値ApplicationNameを authorization-manager アプリケーション名として使用することはできません。また、アプリケーションの Web.config ファイルでは、インスタンスを構成AuthorizationStoreRoleProviderするには、 要素にprovider属性をapplicationName常に指定する必要があります。

注意事項

1 つの既定のロール プロバイダー インスタンスがオブジェクトによって HttpApplication 提供されるすべての要求に使用されるため、複数の要求を同時に実行し、プロパティ値を ApplicationName 設定できます。 プロパティは ApplicationName 複数の書き込みではスレッド セーフではなく、アプリケーションの複数のユーザーがいる場合に、プロパティ値を変更 ApplicationName すると予期しない動作が発生する可能性があります。 必要な場合を除き、ユーザーがプロパティを設定できるコードを ApplicationName 記述しないようにすることをお勧めします。 プロパティの設定 ApplicationName が必要なアプリケーションの例として、複数のアプリケーションのロール データを管理する管理アプリケーションがあります。 このようなアプリケーションは、Web アプリケーションではなく、シングル ユーザー アプリケーションである必要があります。

適用対象

こちらもご覧ください