共用方式為


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

屬性值

授權儲存應用程式的名稱,用於儲存及檢索角色資訊。 預設值為 ApplicationPath 當前 Request的屬性值。

例外狀況

嘗試將 設定 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 來將使用者和角色與不同的授權管理應用程式關聯,使多個 ASP.NET 應用程式能使用相同的授權管理政策儲存來儲存角色資訊,避免重複角色名稱間的衝突。 或者,多個 ASP.NET 應用程式也可以透過在屬性中指定相同的值 ApplicationName 來使用相同的政策儲存。 此 ApplicationName 屬性可透過程式設定,或透過屬性 applicationName 在應用程式的 Web.config 檔案中宣告式設定。

如果 Web.config 檔案中未指定 applicationName 屬性值,則 HttpRequest.ApplicationPath 會使用目前 HttpContext.Request 物件的屬性值。

備註

授權管理應用程式名稱中不得包含屬性中包含的 HttpRequest.ApplicationPath 「/」字元。 因此,該 ApplicationName 屬性的預設值無法用作授權管理應用程式名稱,且在應用程式的 Web.config 檔案中,必須在元素中指定 applicationName 屬性 provider 來設定實 AuthorizationStoreRoleProvider 例。

謹慎

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

適用於

另請參閱