次の方法で共有


Roles.ApplicationName プロパティ

定義

ロール情報を保管および取得するアプリケーションの名前を取得または設定します。

public:
 static property System::String ^ ApplicationName { System::String ^ get(); void set(System::String ^ value); };
public static string ApplicationName { get; set; }
static member ApplicationName : string with get, set
Public Shared Property ApplicationName As String

プロパティ値

ロール情報を保管および取得するアプリケーションの名前。

次の例は、ASP.NET アプリケーションの Web.config ファイルのセクションにある roleManager 要素 system.web を示しています。 アプリケーションが インスタンスを使用し、 属性を SqlRoleProviderapplicationName に設定することを MyApplication指定します。

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

注釈

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

Web アプリケーションで クラスをSqlRoleProvider使用していて、構成ファイルの 属性にapplicationName値が指定されていない場合は、現在HttpContext.RequestのプロパティのHttpRequest.ApplicationPathプロパティ値が使用されます。

注意事項

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

適用対象

こちらもご覧ください