Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764

    Regsitrare chiusura sessione

    In una webapp che stro creando per un cliente, ho bisogno di tracciare gli accessi degli utenti.
    In una tabella scrivo id_utente, data_ora_login e data_ora_logout.

    Come potrei registrare il logout non a seguito del click da parte dell'utente su un link che chiude la sessione, ma quando la sessione va in timeout? Se l'utente chiude il browser senza fare logout, come registro questo evento?
    Qualche suggerimento?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2005
    residenza
    Sardegna
    Messaggi
    308
    È possibile utilizzare uno script ajax del timer per aggiornare il valore del tempo di logout a intervalli regolari (ad es. Ogni 10 secondi) e se non viene aggiornato si sa che il client ha lasciato il sito o chiuso il browser.

  3. #3
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    per queste operazioni una volta si poteva utilizzare global.asa.
    purtroppo i nuovi server windows, non si sa perché, non gestiscono correttamente le sessioni registrate con global.asa e mandano in crash il motore asp sfanculando il nostro lavoro.

    per porre rimedio a una mia necessità simile mi sono inventato un routine un po complessa:
    -registro in un database: id di sessione, data e ora.
    -rinnovo la registrazione dell'utente ogni X tempo tramite una chiamata ajax (90'')
    -sul server un file batch è invocato ogni 5 minuti (è il tempo minimo possibile)
    -il file batch esegue una pagina sul server
    -la pagina controlla che l'ultima autenticazione sia avvenuta entro Y tempo dall'ora attuale: se supera il tempo (superiore ai 90'' altrimenti potremmo far casini) registra il logout

    più dettagli e accortezze varie

    da tenere in considerazione che l'utente potrebbe cambiare pagina più volte con un tempo inferiore a 90''. quindi, in questo contesto, è bene registrare la sessione/data/ora ogni volta che l'utente entra in una pagina.

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    Quote Originariamente inviata da Webbabe Visualizza il messaggio
    È possibile utilizzare uno script ajax del timer per aggiornare il valore del tempo di logout a intervalli regolari (ad es. Ogni 10 secondi) e se non viene aggiornato si sa che il client ha lasciato il sito o chiuso il browser.
    anche questa semplificazione ha il suo valore.

    bisogna vedere il contesto in cui bisogna operare

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    Grazie per le risposte.

    Vediamo di contestualizzare.
    Si tratta di una webapp che serve per registrare e tener traccia di un'attività di noleggio con conducente.
    Ci sono diverse figure coinvolte: gli autisti, le officine e coloro che puliscono le macchine.

    Per quel che riguarda gli autisti, per esempio, ho bisogno che ciascuno, a inizio turno, si logghi, scelga da un elenco a discesa il veicolo che gli è stato assegnato dal responsabile, che inserisca i km iniziali, che faccia (se richiesto) sul veicolo i controlli dei livelli del liquido lavavetri, olio motore, ecc e che confermi sull'app che il controllo è stato fatto. Alla fine di tutto ciò deve fare logout (e voglio tracciare questo evento).

    Discorso analogo (login, azioni da compiere e logout) per gli altri tipi di utenti coinvolti.

    L'accesso alla webapp avverrà, per quanto riguarda gli autisti (che sono gli utenti più "a rischio" cazzate) solo tramite un tablet presente nel deposito dei veicoli.
    Dal momento che la connessione a Internet nel deposito ha IP fisso, pensavo di vincolare il login degli autisti solo a quell'indirizzo IP. Questo per evitare che gli autisti si mettano a pasticciare nel profilo da qualche loro dispositivo.

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    Quote Originariamente inviata da Roby140569 Visualizza il messaggio
    Grazie per le risposte.
    Dal momento che la connessione a Internet nel deposito ha IP fisso, pensavo di vincolare il login degli autisti solo a quell'indirizzo IP. Questo per evitare che gli autisti si mettano a pasticciare nel profilo da qualche loro dispositivo.
    se pensi che mai abbiano necessità e/o mai debbano collegarsi con altro allora ci può stare

    per il resto il sistema più semplice è quello indicato da webbabe.
    lo perfezionerei registrando subito il logout, anche se non ancora avvenuto. così, in caso di disconnessione involontaria, hai già un dato approssimativo.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    se pensi che mai abbiano necessità e/o mai debbano collegarsi con altro allora ci può stare
    Se cambieranno le condizioni potrò, in un secondo tempo, eliminare il filtro sugli indirizzi IP al login.

    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    lo perfezionerei registrando subito il logout, anche se non ancora avvenuto. così, in caso di disconnessione involontaria, hai già un dato approssimativo.
    OK, grazie per il consiglio.

    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    per il resto il sistema più semplice è quello indicato da webbabe.
    Cercherò qualche script adatto.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.