Condividi tramite


Roles.CacheRolesInCookie Proprietà

Definizione

Ottiene un valore che indica se i ruoli dell'utente corrente sono memorizzati in 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

Valore della proprietà

true se i ruoli dell'utente corrente sono memorizzati in un cookie; in caso contrario, false. Il valore predefinito è true.

Esempio

Nell'esempio seguente viene illustrato l'elemento roleManager nella system.web sezione del file Web.config per un'applicazione ASP.NET. Specifica che l'applicazione usa un'istanza SqlRoleProvider e imposta l'attributo cacheRolesInCookie su 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>

Commenti

Quando la proprietà è impostata su true nel file Web.config, le CacheRolesInCookie informazioni sul ruolo per ogni utente vengono archiviate in un cookie. Quando la gestione dei ruoli verifica se un utente si trova in un ruolo specifico, il cookie dei ruoli viene controllato prima che il provider di ruoli venga chiamato per controllare l'elenco dei ruoli nell'origine dati. Il cookie viene aggiornato dinamicamente per memorizzare nella cache i nomi dei ruoli convalidati più di recente.

È possibile migliorare l'affidabilità dei nomi dei ruoli memorizzati nella cache in un cookie specificando una CookieProtectionValue proprietà quando si configurano i ruoli di ASP.NET. Il valore predefinito CookieProtectionValue è All, che crittografa i nomi dei ruoli nel cookie e verifica che il contenuto del cookie non sia stato modificato.

Nota

Poiché i nomi dei ruoli possono essere memorizzati nella cache oltre all'origine dati, è possibile che le modifiche apportate alla gestione dei ruoli all'origine dati non vengano riflesse nei valori memorizzati nella cache. In questo caso, l'utente deve chiudere e riaprire il browser per cancellare il valore del cookie memorizzato nella cache.

Si applica a

Vedi anche