Partager via


Roles.CacheRolesInCookie Propriété

Définition

Obtient ou définit une valeur indiquant si les rôles de l'utilisateur actuel sont mis en cache dans un cookie.

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

Valeur de propriété

true si les rôles de l'utilisateur en cours sont mis en cache dans un cookie; sinon, false. La valeur par défaut est true.

Exemples

L’exemple suivant montre l’élément roleManager dans la system.web section du fichier Web.config pour une application ASP.NET. Il spécifie que l’application utilise une SqlRoleProvider instance et définit l’attribut cacheRolesInCookie sur 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>

Remarques

Lorsque la CacheRolesInCookie propriété est définie sur true dans le fichier Web.config, les informations de rôle de chaque utilisateur sont stockées dans un cookie. Lorsque la gestion des rôles vérifie si un utilisateur est dans un rôle particulier, le cookie de rôles est vérifié avant que le fournisseur de rôles soit appelé pour vérifier la liste des rôles au niveau de la source de données. Le cookie est mis à jour dynamiquement pour mettre en cache les derniers noms de rôles validés.

Vous pouvez améliorer la fiabilité des noms de rôles mis en cache dans un cookie en spécifiant une CookieProtectionValue propriété lorsque vous configurez ASP.NET rôles. La valeur par défaut CookieProtectionValue est All, qui chiffre les noms de rôles dans le cookie et vérifie que le contenu du cookie n’a pas été modifié.

Notes

Étant donné que les noms de rôle peuvent être mis en cache en dehors de la source de données, il est possible que les modifications apportées à la gestion des rôles au niveau de la source de données ne soient pas reflétées dans les valeurs mises en cache. Dans ce cas, l’utilisateur doit fermer et rouvrir son navigateur pour effacer la valeur du cookie mis en cache.

S’applique à

Voir aussi