SqlRoleProvider.ApplicationName Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.