Roles.CacheRolesInCookie Egenskap

Definition

Hämtar ett värde som anger om den aktuella användarens roller cachelagras i en cookie.

public:
 static property bool CacheRolesInCookie { bool get(); };
public static bool CacheRolesInCookie { get; }
static member CacheRolesInCookie : bool
Public Shared ReadOnly Property CacheRolesInCookie As Boolean

Egenskapsvärde

trueom den aktuella användarens roller cachelagras i en cookie; annars . false Standardvärdet är true.

Exempel

I följande exempel visas elementet roleManager i avsnittet system.web i Web.config-filen för ett ASP.NET-program. Den anger att programmet använder en SqlRoleProvider instans och anger cacheRolesInCookie attributet till true.

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

Kommentarer

När egenskapen CacheRolesInCookie är inställd true på i filen Web.config lagras rollinformation för varje användare i en cookie. När rollhantering kontrollerar om en användare har en viss roll kontrolleras rollcookien innan rollprovidern anropas för att kontrollera listan över roller i datakällan. Cookien uppdateras dynamiskt för att cachelagras de senast verifierade rollnamnen.

Du kan förbättra tillförlitligheten för rollnamnen som cachelagras i en cookie genom att ange en egenskap CookieProtectionValue när du konfigurerar ASP.NET roller. Standardvärdet CookieProtectionValue är All, som krypterar rollnamn i cookien och verifierar att cookieinnehållet inte har ändrats.

Note

Eftersom rollnamn kan cachelagras förutom datakällan är det möjligt att ändringar i rollhantering i datakällan inte återspeglas i de cachelagrade värdena. I det här fallet måste användaren stänga och öppna webbläsaren igen för att rensa det cachelagrade cookievärdet.

Gäller för

Se även