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

Discussione: [JSP] ricorda il login

  1. #1

    ricorda il login

    Salve, io ho realizzato un login in jsp. Quando un utente si logga viene reindirizzato nella pagina di main. Una volta reindirizzato al main, bisogna ricordare chi si è loggato? Come faccio?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Se intendi ricordarlo finchè non chiude il browser usi le sessioni.
    Se intendi ricordarlo la prossima volta che entra nel sito, usi i cookie.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    per usare le sessioni come faccio?

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    2
    Esiste l'interfaccia HttpSession nel packages javax.servlet.http

  5. #5
    Se ad esempio voglio ricordarmi dell'utente che si è collegato dovrei ricavarmi l'ultimo utente collegato e assegnarlo a delle variabili di sessione giusto? Però non so come si fa. Mi postate qualche codice di esempio?

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Per questo genere di cose esistono guide e manuali, senza i quali non andrai da nessuna parte perchè l'argomento è vastissimo.

    Ad ogni modo, quando un utente entra nel tuo sito puoi creare una sessione (oggetto HttpSession) e, per ciascuna pagina del sito, controllare se l'utente è loggato o meno. Per fare questo si fa, grossomodo, quanto segue:
    codice:
    // ... qui effettui la login
    
    // Ora crei la sessione e inserisci in essa il riferimento al (ad esempio) user-id:
    // L'oggetto request è la HttpServletRequest
    HttpSession s = request.getSession();
    
    s.setAttribute("user-id", new Integer(userId));   // Suppongo che userId sia un intero
    Ora, per ciascuna pagina, dovrai controllare se l'utente è loggato: ottieni la session sempre con getSession() e controlli l'attributo:
    codice:
    HttpSession s = request.getSession();
    
    Integer user = (Integer) s.getAttribute("user-id");
    if (user != null) {
       // L'utente è loggato
    } else {
       // L'utente non è loggato.
    }
    getSession() recupera la sessione attiva, se esiste. Altrimenti la crea.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    10
    Ok... ma l'int userId come lo inizializzo? un intero qualsiasi?

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Originariamente inviato da latindance85
    Se ad esempio voglio ricordarmi dell'utente che si è collegato dovrei ricavarmi l'ultimo utente collegato e assegnarlo a delle variabili di sessione giusto? Però non so come si fa. Mi postate qualche codice di esempio?
    Come ti consigliava LeleFT, parti dal manuale (tra l'altro se non ricordo male, proprio qui su html.it - sezione siti -> java, c'è una guida a JSP in cui vengono spiegate le sessioni)... le sessioni, in tutti i linguaggi server side, sono "personali", ossia tra il client e il server. Nel momento in cui l'utente "chiude" il browser, il server si dovrebbe sbarazzare dei relativi dati di sessione, che ripeto sono personali e condivisi - salvo bug di configurazione - tra client specifico e server.

    Se invece vuoi che i dati permangano anche alla chiusura del browser, dovrai usare i cookies. I cookies vengono salvati nella macchina client e da lì riletti dal server.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da Ciccio32
    Ok... ma l'int userId come lo inizializzo? un intero qualsiasi?
    E che ne so... era un esempio.
    Puoi memorizzare il nome utente se preferisci, questo lo decidi tu. Che ne sappiamo noi di come fai tu ad identificare un utente. Solitamente c'è un DB con una tabella degli utenti e ognuno di essi ha uno User ID che lo identifica. Ora, come facciamo noi a sapere come fai tu ad identificare gli utenti? Avrai da qualche parte una tabella con gli utenti che possono loggarsi. E posso immaginare che per loggarsi debbano inserire un nome utente e una password. Se i nomi utenti sono univoci allora puoi usare il nome utente al posto dello userId che io ho usato nell'esempio.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    10
    ah ok ok!
    Pensavo avessi inizializzato l'userId in un 'altra maniera.... non avevo capito fosse una delle colonne della tabella.... ok... grazie delle info!

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.