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

String

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

Byl proveden pokus o nastavení ApplicationName 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 oddílu system.web souboru Web.config pro ASP.NET aplikaci. 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 použít stejnou databázi zadáním stejné hodnoty ve ApplicationName vlastnosti. Vlastnost ApplicationName lze nastavit programově nebo ji lze nastavit deklarativní v konfiguračním souboru webové aplikace pomocí atributu applicationName .

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

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 souběžných žádostí a pokus o ApplicationName nastavení hodnoty vlastnosti. Vlastnost ApplicationName není bezpečná pro více zápisů 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 ji nepotřebujete. Příkladem aplikace, kde je možné nastavit ApplicationName vlastnost, je aplikace pro správu, která spravuje data rolí pro více aplikací. Taková aplikace by měla být aplikace s jedním uživatelem, nikoli webová aplikace.

Platí pro

Viz také