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

true, wenn die Rollen des aktuellen Benutzers in einem Cookie zwischengespeichert werden, andernfalls false. Der Standardwert ist 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 legt das cacheRolesInCookie -Attribut auf fest 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 Web.config-Datei auf true festgelegt ist, werden Rolleninformationen für jeden Benutzer in einem Cookie gespeichert. Wenn die Rollenverwaltung überprüft, ob ein Benutzer in einer bestimmten Rolle ist, wird das Rollencooky ü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 beim Konfigurieren ASP.NET Rollen eine CookieProtectionValue -Eigenschaft angeben. Der Standardwert CookieProtectionValue ist All, wodurch Rollennamen im Cookie verschlüsselt und überprüft werden, ob der Cookieinhalt nicht geändert wurde.

Hinweis

Da Rollennamen außer der Datenquelle zwischengespeichert werden können, ist es möglich, dass Änderungen an der Rollenverwaltung in der Datenquelle nicht in den zwischengespeicherten Werten widerzuspiegeln sind. 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