Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: (asp) Sessione scaduta

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883

    (asp) Sessione scaduta

    Ho delle pagine asp dove l'utente può eccedervi solo dopo che ha fatto login. Anche se ha fatto login le pagine possono essere navigate solo se la sessione non è scaduta
    Come faccio a capire quando l'utente non può accedervi perchè non ha fatto il login e quando perchè la sessione non è scaduta?

    Per il primo ho utilizzato il seguente codice

    <%@ LANGUAGE = JScript %>
    <%
    // verifico se l'utente si e' autentificato
    var utente_id = Session("utente_id");
    if(!utente_id) {
    // l'utente non ha fatto login quindi rimando alla pagina di login
    Response.redirect("riservato.asp")
    }
    %>

    Ma per capire invece se la sessione è scaduta come si fa?

  2. #2
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    La variabile Session("utente_id") esiste ed ha un valore valido solamente se l'utente ha fatto login E la sessione non è scaduta (al termine della sessione, tutte le variabili vengono distrutte).

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    esatto ma quando la variabile utente_id non c'è in sessione come faccio a distinguere il caso che non c'è perchè l'utente non ha fatto login dal caso in cui non c'è perchè la sessione è scaduta?

  4. #4
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Metti nel global.asa una variabile di sessione che contiene il momento in cui la sessione viene creata

    Session("InizioSessione") = Now()

    Quindi:
    codice:
    Session("InizioSessione")   Session("utente_id")  Risultato
    -----------------------------------------------------------
    esiste                      esiste                utente loggato
                                                      sessione non scaduta
    
    esiste                      non esiste            utente non loggato

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    La pagina mi dà un errore alla riga dove c'è

    Now()

    L'errore è
    Microsoft JScript runtime error '800a138f'
    Object expected

    Penso sia dovuto al fatto che io uso JScript, entre forse Now() è un'istruzione Vbscript

    cosa posso usare al suo posto?

  6. #6
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Non saprei, non conosco JScript.
    Comunque il Now() era solo un esempio, l'importante è che esistano due variabili di sessione, una creata automaticamente ed una creata esplicitamente con il login.

    Quindi il ragionamento funziona anche usando

    Session("EsisteSessione") = True

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    ma quando scade la sessione come faccio a dirgli di mettere la variabile EsisteSessione a false?

  8. #8
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Originariamente inviato da abcd1000
    ma quando scade la sessione come faccio a dirgli di mettere la variabile EsisteSessione a false?
    Non importa farlo: semplicemente non esiste più! (E quindi non può valere TRUE)

  9. #9
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Ehm, in effetti ho detto una cosa non vera: quella variabile esiste SEMPRE.

    Per come hai impostato il tuo applicativo, la sscadenza della sessione equivale SEMPRE ad un logout.

    Le uniche situazioni che il tuo applicativo gestisce sono:
    1. Sessione esistente, login non effettuato
    2. Sessione esistente, login effettuato

    Non puoi intercettare una sessione scaduta, in effetti corrisponde alla situazione 1

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    però alcuni siti in asp riescono a distinguere quando non si può accedere ad una pagina diversificando la pagina a cui ti mandano a seconda se la sessione è scaduta o se l'utente non è connesso

    come fanno?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.