Sdílet prostřednictvím


SqlRoleProvider.ApplicationName Vlastnost

Definice

Získá nebo nastaví název aplikace, pro kterou chcete uložit a načíst informace o roli.

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 aktuálního Requestobjektu .

Výjimky

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

Byl proveden pokus o nastavení ApplicationName řetězce na řetězec, který je delší než 256 znaků.

Příklady

Následující příklad ukazuje roleManager element v system.web části 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

Slouží ApplicationName k přidružení uživatelů a rolí k různým aplikacím SqlRoleProvider . 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žívat 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 není pro atribut v konfiguračním applicationName souboru webové aplikace zadána hodnota, HttpRequest.ApplicationPath použije se hodnota vlastnosti pro aktuální HttpContext.Request objekt.

Upozornění

Vzhledem k tomu, že jedna výchozí instance zprostředkovatele role se používá pro všechny požadavky obsluhované objektem HttpApplication , můžete mít spuštěných více požadavků současně a pokusu o nastavení ApplicationName 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čuje se vyhnout psaní kódu, který uživatelům umožňuje nastavit ApplicationName vlastnost, pokud není nutné. Příkladem aplikace, kde může být vyžadováno ApplicationName nastavení vlastnosti, je aplikace pro správu, která spravuje data rolí pro více aplikací. Taková aplikace by měla být aplikace pro jednoho uživatele, a ne webová aplikace.

Platí pro

Viz také