共用方式為


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 system.web 應用程式 Web.config 檔案區塊中的 roleManager 元素。 它指定應用程式使用實 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 屬性,也可以在網頁應用程式的設定檔中,透過屬性 applicationName 來宣告式設定。

如果你的網頁應用程式使用該 SqlRoleProvider 類別,且設定檔中未指定 applicationName 屬性值,則 HttpRequest.ApplicationPath 使用當前 HttpContext.Request 屬性的屬性值。

謹慎

由於一個預設角色提供者實例會處理物件所服務 HttpApplication 的所有請求,因此你可以同時執行多個請求並嘗試設定 ApplicationName 屬性值。 該 ApplicationName 屬性對多次寫入不安全,且更改 ApplicationName 屬性值可能導致多個應用程式使用者出現意外行為。 除非必要,否則你應該避免寫程式碼讓使用者設定該 ApplicationName 屬性。 一個可能需要設定屬性 ApplicationName 的應用程式範例是管理多個應用程式角色資料的管理應用程式。 此類應用程式應為單一使用者應用程式,而非網頁應用程式。

適用於

另請參閱