Identificare univocamente un utente

mercoledì 11 giugno 2008 - 17.30

luxsor Profilo | Guru

Ciao a tutti.
Ho un piccolo (spero) problema; sto realizzando un carrello dove un utente senza registrazione, potrà acquistare dei prodotti e inserire i suoi dati al termine dell'acquisto.
Come posso identificare univocamente questo utente, in modo che non si vengano a creare problemi di ordini.
Ho provato Request.LogonUserIdentity.User.Value ma non va bene; non so come funziona, ma ho riscontrato lo stesso, identificativo ottenuto dalla funzione, su due computer differenti.

Grazie

fasol Profilo | Junior Member

non so se è la risposta giusta ma credo che devi fare un hash dell'ip dell'utente se nn ricordo male l'hash è calcolato con la data e l'ora, in questo modo non avrai mai un hash uguale all'altro...mi pare che da qualche parte ho un esempio

Facci sapere ciao.....


meglio i perdenti xkè hanno la speranza di vincere...cosa che i vincenti nn hanno....

Mikyct86 Profilo | Junior Member

Ciao,
1-Non credo che ti conviene non registrare gli utenti.
2-In teoria dovresti prendere il loro indirizzo IP se vuoi usare questa soluzione secondo me

luxsor Profilo | Guru

Il problema è quello di mantenermi i prodotti nel carrello, per qualche giorno; quindi con Hash dell'Indirizzo iP (sicuramente funzionante) non otterrei nessun risultato.

rossimarko Profilo | Guru

Se ti serve un codice univoco da utilizzare temporaneamente utilizza il Guid: http://msdn.microsoft.com/en-us/library/system.guid.aspx

Per ottenere un valore puoi fare:
Dim p As Guid = Guid.NewGuid()

Però poi devi capire come ricaricare i dati quando l'utente si ricollega.
Puoi provare a gestire la cosa con dei cookie, salvandoti all'interno del cookie il guid creato. Se usi l'indirizzo ip hai dei problemi con gli utenti aziendali che magari usano un proxy o escono tutti con lo stesso ip

-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

luxsor Profilo | Guru

Su che base viene generato questo codice?
Non vorrei che al prossimo riavvio del computer, mi generasse un altro GUID.

rossimarko Profilo | Guru

Per capire come funziona prova a guardare qui: http://it.wikipedia.org/wiki/GUID

La cosa importante è che si tratta di un codice univoco che puoi generare lato server per poi associarlo al tuo ordine. Il passo successivo consiste nel salvare sul client questo guid così la volta successiva puoi verificare se l'utente ha già un guid associato e lo puoi usare per ricaricare i dati.

Ovviamente se riesci a farli registrare prima è meglio, oppure invece che salvarli su db considera la possibilità di tenerli in sessione fino a quando non confermano il tutto registrandosi. Però se mi dici che l'utente deve poter ricollegarsi dopo qualche giorno allora il discorso della session non ha proprio senso.
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

luxsor Profilo | Guru

Ho fatto un po di prove.
Questo codice cambia di volta in volta, quindi il procedimento che mi hai consigliato, andrebbe bene se il codice fosse sempre quello.
Forse l'unica soluzione e quella di generare il codice GUID, associare questo codice all'ordine e salvarlo in un cookie sul computer del cliente, in modo che all'apertura della pagina confronta il GUID salvato con un'eventuale ordine in atto.
OK. Ti ringrazio
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5