AuthorizationStoreRoleProvider.ApplicationName Egenskap

Definition

Hämtar eller anger namnet på det auktoriseringsarkivprogram som rollinformationen ska lagras och hämtas för.

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

Egenskapsvärde

Namnet på det auktoriseringsarkivprogram som rollinformationen ska lagras och hämtas för. Standardvärdet är egenskapsvärdet ApplicationPath för den aktuella Request.

Undantag

Ett försök gjordes att ange ApplicationName till en sträng som är längre än 256 tecken.

Exempel

I följande exempel visas elementet <roleManager> i avsnittet system.web i Web.config-filen för ett ASP.NET program. Den anger programmets AuthorizationStoreRoleProvider instans och anger ApplicationName egenskapen till MyApplication.

<roleManager defaultProvider="AuthorizationStoreProvider"
  enabled="true"
  cacheRolesInCookie="true"
  cookieName=".ASPROLES"
  cookieTimeout="30"
  cookiePath="/"
  cookieRequireSSL="false"
  cookieSlidingExpiration="true"
  cookieProtection="All" >
  <providers>
    <add
      name="SqlProvider"
      type="System.Web.Security.AuthorizationStoreRoleProvider"
      connectionStringName="AuthorizationStoreServices"
      scopeName="MyScope"
      applicationName="MyApplication" />
  </providers>
</roleManager>

Kommentarer

ApplicationName används av AuthorizationStoreRoleProvider för att associera användare och roller med olika auktoriseringshanteraresprogram, vilket gör att flera ASP.NET program kan använda samma principarkiv för auktoriseringshanteraren för att lagra rollinformation utan att stöta på konflikter mellan dubbla rollnamn. Alternativt kan flera ASP.NET program använda samma principarkiv genom att ange samma värde i egenskapen ApplicationName. Egenskapen ApplicationName kan anges programmatiskt, eller så kan den anges deklarativt i programmets Web.config-fil med hjälp applicationName av attributet .

Om ett värde inte har angetts för applicationName attributet i Web.config-filen HttpRequest.ApplicationPath används egenskapsvärdet för det aktuella HttpContext.Request objektet.

Note

Auktoriseringshanterarens programnamn får inte innehålla det "/"-tecken som ingår i egenskapen HttpRequest.ApplicationPath . Därför kan standardvärdet för egenskapen inte användas som programnamn för ApplicationName auktoriseringshanteraren, och i programmets Web.config-fil måste du alltid ange ett applicationName attribut i elementet för att konfigurera instansen providerAuthorizationStoreRoleProvider .

Caution

Eftersom en enda standardrollproviderinstans används för alla begäranden som hanteras av ett HttpApplication objekt kan du ha flera begäranden som körs samtidigt och försöka ange egenskapsvärdet ApplicationName . Egenskapen ApplicationName är inte trådsäker för flera skrivningar, och om du ändrar egenskapsvärdet ApplicationName kan det leda till oväntat beteende när det finns flera användare av ett program. Vi rekommenderar att du undviker att skriva kod som gör att användarna kan ange ApplicationName egenskapen om du inte måste. Ett exempel på ett program där det kan krävas att ange ApplicationName egenskapen är ett administrativt program som hanterar rolldata för flera program. Ett sådant program ska vara ett enanvändarprogram och inte ett webbprogram.

Gäller för

Se även