Come memorizzare sessioni uniche per gli utenti che hanno effettuato l'accesso con diversi dispositivi?

2

Voglio fare qualcosa come Facebook. Possiamo vedere in qualsiasi momento dove abbiamo effettuato l'accesso. Ad esempio:

Windows PC · New Delhi, India Edge · Active now

Windows PC · New Delhi, India Chrome · 8 minutes ago

Xiaomi Redmi 4A · New Delhi, India Facebook app · 10 hours ago

Ora, ho creato una tabella nel database che memorizza principalmente l'ID utente, un ID univoco e un agente utente.

Chi effettua il login viene salvato nella tabella.

Se un utente accede da 3 dispositivi diversi, vedo 3 voci per lo stesso uso nella tabella.

Tuttavia, il problema che sto affrontando è, se accedo nuovamente (quando i cookie sono cancellati o qualcosa del genere), vedo un'altra voce nella tabella per stesso dispositivo . Questo è quello che non voglio e Facebook lo gestisce in qualche modo. Facebook mostra solo una voce per un singolo utente e dispositivo.

Ora quello che pensavo è rimuovere la voce se lo stesso utente effettua nuovamente il login (senza disconnettersi: magari cancellando i cookie o quando la sessione è scaduta) con lo stesso browser / app e mantiene una singola voce .

Ma ancora una volta, non so quale riga eliminare . Potrebbe esserci un utente connesso con 2 follemente stesso dispositivo nello stesso browser / app. Ora come posso rimuovere l'inserimento di uno di loro?

Ecco come appaiono le righe:

userId UniqueId UserAgent/Device
2          342     Samsung - Chrome
2          341     Windows PC - Chrome
2          345     Nokia Lumia 630 - Internet Explorer (actually logged in)
2          346     Nokia Lumia 630 - Internet Explorer (actually logged in)
2          360     Nokia Lumia 630 - Internet Explorer 
                   (Duplicate Entry because of re-login (Cookies cleared or session expired))
2          363     Nokia Lumia 630 - Internet Explorer
                   (Duplicate Entry because of re-login (Cookies cleared or session expired))
2          389     Nokia Lumia 630 - Internet Explorer
                   (Duplicate Entry because of re-login (Cookies cleared or session expired))
2          367     Nokia Lumia 630 - Internet Explorer
3          378     something
4          379     something

(L'ID utente 2 ha 8 sessioni)

Ecco cosa voglio:

2          342     Samsung - Chrome
2          341     Windows PC - Chrome
2          345     Nokia Lumia 630 - Internet Explorer
2          346     Nokia Lumia 630 - Internet Explorer
3          378     something
4          379     something

(L'ID utente 2 ha 4 sessioni)

È quello che sto cercando di implementare è un approccio corretto o dovrei fare qualcosa di diverso?

MODIFICA: conteggi fissi.

    
posta Vikas Kumar 03.02.2018 - 18:16
fonte

0 risposte

Leggi altre domande sui tag