#806 - Utilizzare le Profile API con gli utenti anonimi

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>

Per approfondimenti si veda:

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


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC