Sdílet prostřednictvím


SqlRoleProvider.ApplicationName Vlastnost

Definice

Získá nebo nastaví název aplikace, pro kterou se mají ukládat a načítat informace o rolích.

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

Hodnota vlastnosti

Název aplikace, pro kterou se mají ukládat a načítat informace o rolích. Výchozí hodnota je ApplicationPath hodnota vlastnosti pro aktuální Request.

Výjimky

Došlo k pokusu ApplicationName o nastavení vlastnosti volajícím, který nemá High ASP.NET oprávnění hostování.

Došlo k pokusu ApplicationName o nastavení řetězce delšího než 256 znaků.

Příklady

Následující příklad ukazuje roleManager prvek v system.web části Web.config souboru pro ASP.NET aplikace. Určuje instanci aplikace SqlRoleProvider a nastaví ApplicationName vlastnost na MyApplication.

<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>

Poznámky

SqlRoleProvider Slouží ApplicationName k přidružení uživatelů a rolí k různým aplikacím. To umožňuje více aplikacím používat stejnou databázi k ukládání informací o uživatelích a rolích, aniž by došlo ke konfliktům mezi duplicitními uživatelskými jmény nebo názvy rolí. Více ASP.NET aplikací může stejnou databázi použít zadáním stejné hodnoty ve ApplicationName vlastnosti. ApplicationName Vlastnost lze nastavit programově nebo ji lze nastavit deklarativní v konfiguračním souboru webové aplikace pomocí atributuapplicationName.

Pokud pro atribut v konfiguračním souboru webové aplikace není zadána applicationName hodnota, HttpRequest.ApplicationPath použije se hodnota vlastnosti pro aktuální HttpContext.Request objekt.

Upozornění

Vzhledem k tomu, že se pro všechny požadavky obsluhované objektem HttpApplication používá jedna výchozí instance zprostředkovatele role, můžete mít několik současně spuštěných požadavků a pokusu o nastavení ApplicationName hodnoty vlastnosti. Vlastnost ApplicationName není bezpečná pro více zápisů z více vláken a změna ApplicationName hodnoty vlastnosti může vést k neočekávanému chování více uživatelů aplikace. Doporučujeme, abyste se vyhnuli psaní kódu, který uživatelům umožňuje nastavit ApplicationName vlastnost, pokud to není nutné. Příkladem aplikace, ve které může být požadováno nastavení ApplicationName vlastnosti, je aplikace pro správu, která spravuje data rolí pro více aplikací. Taková aplikace by měla být jednouživatelovou aplikací, nikoli webovou aplikací.

Platí pro

Viz také