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屬性可以透過程式設計方式設定,或者可以使用 屬性,以宣告方式在應用程式的 Web.config 檔案applicationName
中設定屬性。
如果未為 applicationName
Web.config 檔案中的屬性指定值,則會 HttpRequest.ApplicationPath 使用目前 HttpContext.Request 對象的屬性值。
注意
Authorization-Manager 應用程式名稱不能包含 屬性中包含的 HttpRequest.ApplicationPath “/” 字元。 因此,屬性的ApplicationName預設值不能當做授權管理員應用程式名稱使用,而且在應用程式的 Web.config 檔案中,您一律必須在 元素中provider
指定applicationName
屬性來設定實例AuthorizationStoreRoleProvider。
警告
因為單一預設角色提供者實例會用於物件提供 HttpApplication 的所有要求,所以您可以同時執行多個要求,並嘗試設定 ApplicationName 屬性值。 屬性 ApplicationName 對於多個寫入而言不是安全線程,而且變更 ApplicationName 屬性值可能會導致應用程式有多個用戶時發生非預期的行為。 建議您避免撰寫程式代碼,讓用戶必須設定 ApplicationName 屬性。 可能需要設定 ApplicationName 屬性的應用程式範例是管理多個應用程式的角色數據的系統管理應用程式。 這類應用程式應該是單一使用者應用程式,而不是 Web 應用程式。