AuthorizationStoreRoleProvider.ApplicationName 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定授權儲存應用程式的名稱,用於儲存及檢索角色資訊。
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 的實例,並將屬性設定 ApplicationName 為 MyApplication。
<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 的應用程式範例是管理多個應用程式角色資料的管理應用程式。 此類應用程式應為單一使用者應用程式,而非網頁應用程式。