Share via


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

屬性值

要為它存放和擷取角色資訊的授權存放應用程式名稱。 預設為目前 ApplicationPathRequest 屬性值。

例外狀況

嘗試將 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>  

備註

ApplicationNameAuthorizationStoreRoleProvider 用來將使用者和角色與不同的授權管理員應用程式建立關聯,這可讓多個 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 應用程式。

適用於

另請參閱