Utilizzare le Profile API con gli utenti anonimi

di Daniele Bochicchio, in ASP.NET 2.0, Profile API, web.config,

Le Profile API di ASP.NET 2.0 supportano in maniera nativa l'utilizzo di questo servizio in maniera indipendente dall'autenticazione, consentendo dunque di avere anche profili anonimi.
In questo caso, dopo aver seguito le istruzioni dello script #779, è necessario aggiungere l'attributo allowAnonymous su ognuna delle proprietà che si vuole rendere disponibile anche nel profilo anonimo, così:

<profile>
  <properties>
    <add name="Name" type="System.String" allowAnonymous="true" />
  </properties>
</profile>

E successivamente aggiungere questa ulteriore voce al web.config, che abilita la funzionalità:

 <anonymousIdentification
     enabled="true"
     cookieSlidingExpiration="true"
    cookieProtection="All" />

Quando si farà riferimento al profilo, non ci sarà differenza nel codice da scrivere rispetto a quello di un utente che ha fatto il login.

E' anche possibile intercettare l'evento MigrateAnonymous da web.config o HttpModule, per migrare il profilo anonimo in quello dell'utente che ha fatto il login, dato che questo evento viene scatenato proprio in seguito a questa azione:

<script runat="server" languace="c#">
void Profile_MigrateAnonymous(Object sender, ProfileMigrateEventArgs args)
{
  // recuperiamo il profilo corrente
  ProfileCommon aProfile = Profile.GetProfile(args.AnonymousID);

  // migro il profilo
  if (aProfile.Name != null)
    Profile.Name = aProfile.Name;
    
  // elimino il profilo anonimo
  ProfileManager.DeleteProfile(args.AnonymousID);
    
  // e la guid utilizzata
    AnonymousIdentificationModule.ClearAnonymousIdentifier();
}
   
</script>

Approfondimenti


#779 - Utilizzare le Profile API con ASP.NET 2.0
https://www.aspitalia.com/script/779/Utilizzare-Profile-API-ASP.NET-2.0.aspx

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi