SqlRoleProvider.ApplicationName Tulajdonság

Definíció

Lekéri vagy beállítja annak az alkalmazásnak a nevét, amelynek a szerepköradatait tárolni és lekérni szeretné.

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

Tulajdonság értéke

Annak az alkalmazásnak a neve, amelynek a szerepköradatait tárolni és lekérni szeretné. Az alapértelmezett érték az ApplicationPath aktuális Requesttulajdonság értéke.

Kivételek

A ApplicationName tulajdonság beállítására olyan hívó tett kísérletet, amely nem rendelkezik High ASP.NET üzemeltetési engedéllyel.

Kísérlet történt a ApplicationName 256 karakternél hosszabb sztringre való beállításra.

Példák

Az alábbi példa egy ASP.NET-alkalmazás Web.config fájljának roleManager szakaszának system.web elemét mutatja be. Megadja az alkalmazás SqlRoleProvider példányát, és a tulajdonságot a ApplicationName következőre MyApplicationállítja be: .

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

Megjegyzések

A ApplicationName felhasználók és szerepkörök SqlRoleProvider különböző alkalmazásokkal való társítására szolgál. Ez lehetővé teszi, hogy több alkalmazás ugyanazt az adatbázist használja felhasználói és szerepkör-információk tárolására anélkül, hogy ütközések lépnek fel az ismétlődő felhasználónevek vagy szerepkörnevek között. Több ASP.NET alkalmazás is használhatja ugyanazt az adatbázist a ApplicationName tulajdonságban megadott értékkel. A ApplicationName tulajdonság beállítható programozott módon, vagy deklaratív módon is beállítható a webalkalmazás konfigurációs fájljában az applicationName attribútum használatával.

Ha a applicationName webalkalmazás konfigurációs fájljában nincs megadva érték az attribútumhoz, akkor a rendszer az HttpRequest.ApplicationPath aktuális HttpContext.Request objektum tulajdonságértékét használja.

Figyelmeztetés

Mivel egy alapértelmezett szerepkör-szolgáltatói példányt használ az objektum által HttpApplication kiszolgált összes kéréshez, egyszerre több kérés is végrehajtható, és megkísérli beállítani a ApplicationName tulajdonság értékét. A ApplicationName tulajdonság nem biztonságos több írás esetén, és a tulajdonság értékének ApplicationName módosítása váratlan viselkedést eredményezhet egy alkalmazás több felhasználója számára. Javasoljuk, hogy ne írjon olyan kódot, amely lehetővé teszi a felhasználók számára a ApplicationName tulajdonság beállítását, hacsak nem szükséges. Példa egy olyan alkalmazásra, ahol szükség lehet a ApplicationName tulajdonság beállítására, egy olyan felügyeleti alkalmazás, amely több alkalmazás szerepköradatait kezeli. Az ilyen alkalmazásnak nem webalkalmazásnak, hanem egy egyfelhasználós alkalmazásnak kell lennie.

A következőre érvényes:

Lásd még