共用方式為


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 。 它會指定應用程式使用 SqlRoleProvider 實體,並將屬性設定 applicationNameMyApplication

<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 屬性,或使用 屬性,以宣告方式在 Web 應用程式的 applicationName 組態檔中設定屬性。

如果您的 Web 應用程式使用 SqlRoleProvider 類別,而且未為 applicationName 組態檔中的 屬性指定值, HttpRequest.ApplicationPath 則會使用目前 HttpContext.Request 屬性的屬性值。

警告

因為單一預設角色提供者實例會用於物件提供 HttpApplication 的所有要求,所以您可以同時執行多個要求,並嘗試設定 ApplicationName 屬性值。 屬性 ApplicationName 對多個寫入而言不是安全線程,而且變更 ApplicationName 屬性值可能會導致應用程式的多個用戶發生非預期的行為。 除非必要,否則您應該避免撰寫程式代碼以允許使用者設定 ApplicationName 屬性。 設定屬性可能需要的應用程式 ApplicationName 範例是管理多個應用程式的角色數據的系統管理應用程式。 這類應用程式應該是單一使用者應用程式,而不是 Web 應用程式。

適用於

另請參閱