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