Freigeben über


Roles.CacheRolesInCookie Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob die Rollen des aktuellen Benutzers in einem Cookie zwischengespeichert werden.

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

Eigenschaftswert

truewenn die Rollen des aktuellen Benutzers in einem Cookie zwischengespeichert werden; andernfalls . false Der Standardwert lautet true.

Beispiele

Das folgende Beispiel zeigt das roleManager-Element im system.web Abschnitt der Web.config-Datei für eine ASP.NET Anwendung. Es gibt an, dass die Anwendung eine SqlRoleProvider Instanz verwendet und das cacheRolesInCookie Attribut auf 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>

Hinweise

Wenn die CacheRolesInCookie Eigenschaft in der datei Web.config festgelegt true ist, werden Rolleninformationen für jeden Benutzer in einem Cookie gespeichert. Wenn die Rollenverwaltung überprüft, ob sich ein Benutzer in einer bestimmten Rolle befindet, wird das Rollencookies überprüft, bevor der Rollenanbieter aufgerufen wird, um die Liste der Rollen in der Datenquelle zu überprüfen. Das Cookie wird dynamisch aktualisiert, um die zuletzt überprüften Rollennamen zwischenzuspeichern.

Sie können die Zuverlässigkeit der in einem Cookie zwischengespeicherten Rollennamen verbessern, indem Sie eine CookieProtectionValue Eigenschaft angeben, wenn Sie ASP.NET Rollen konfigurieren. Der Standardwert CookieProtectionValue ist All, der Rollennamen im Cookie verschlüsselt und überprüft, ob der Inhalt des Cookies nicht geändert wurde.

Hinweis

Da Rollennamen abgesehen von der Datenquelle zwischengespeichert werden können, ist es möglich, dass Änderungen an der Rollenverwaltung an der Datenquelle nicht in den zwischengespeicherten Werten widerzuspiegeln wären. In diesem Fall muss der Benutzer seinen Browser schließen und erneut öffnen, um den zwischengespeicherten Cookiewert zu löschen.

Gilt für:

Weitere Informationen