Share via


Roles.ApplicationName プロパティ

定義

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

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

プロパティ値

String

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

次の例は、ASP.NET アプリケーションのWeb.config ファイルのセクションにある system.web roleManager 要素を示しています。 アプリケーションがインスタンスを使用し、属性を SqlRoleProvider .に設定 applicationName することを 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.RequestHttpRequest.ApplicationPathプロパティのプロパティ値が使用されます。

注意事項

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

適用対象

こちらもご覧ください