Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    29

    dubbi sulle sessioni e sui cookie

    Salve dovrei fare una pagina di login con servlet e jsp ma credo d avere le idee confuse sui cookie e sulla sessìon

    ho la mia pagina html con il form d inserimento user e password
    invio i dati alla servlet login e se user e pass sono presenti nel db
    ora devo indirizzare l'utente verso la sua pagina
    cio ke nn m torna è se devo e come devo mettere il session id nel cookie.
    poi ogni volta che c'è una request alla pagina ci sono i cookie nell' header ma i cookie presenti sono tutti quelli presenti sull'host ? cioè tra tutti i cookie come faccio a vedere qual'è quello ke m interessa?

    grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: dubbi sulle sessioni e sui cookie

    Originariamente inviato da vco87
    credo d avere le idee confuse sui cookie e sulla sessìon
    I cookie sono solo dei "pezzetti" di dati che stanno sul client legati a host/path delle pagine web e che possono viaggiare da client verso server e viceversa.

    La gestione delle sessioni è qualcosa di livello più "alto" che permette di mantenere una linea di continuità tra la visita di più pagine differenti fatta dall'utente con una stessa finestra del browser in un certo arco di tempo.

    Visto che il protocollo HTTP è stateless (non ha "stato" ... non si ricorda quali sono state le richieste/risposte passate) la gestione delle sessioni generalmente/tipicamente si può affidare ai cookie per far passare tra client e server 1 solo dato (che è l'unico che serve ai fini della sessione) che è il "session ID".

    Originariamente inviato da vco87
    ho la mia pagina html con il form d inserimento user e password
    invio i dati alla servlet login e se user e pass sono presenti nel db
    ora devo indirizzare l'utente verso la sua pagina
    Puoi fare un redirect a quella pagina.

    Originariamente inviato da vco87
    cio ke nn m torna è se devo e come devo mettere il session id nel cookie.
    Non sei tu che dovresti preoccuparti di gestire i cookie per la sessione. Questo viene fatto in automatico. Semmai dovresti preoccuparti di fare qualcosa "in più" lato server per gestire il caso particolare in cui i cookie fossero disabilitati nel client (si chiama "url rewrite": se l'ID di sessione non può "viaggiare" con 1 cookie perché sono disabilitati, lo si fa viaggiare attraverso gli URL e quindi i link delle pagine).

    Originariamente inviato da vco87
    poi ogni volta che c'è una request alla pagina ci sono i cookie nell' header ma i cookie presenti sono tutti quelli presenti sull'host ? cioè tra tutti i cookie come faccio a vedere qual'è quello ke m interessa?
    Ripeto che per la gestione delle sessioni non ti devi preoccupare tu di vedere/modificare qualcosa sui cookie. Questo è automatico e trasparente in Java EE.

    Quello di cui dovresti preoccuparti è che dato un insieme di pagine "protette" accessibili solo a utenti registrati, fare in modo che qualunque richiesta a quelle pagine da utenti non registrati non le raggiunga e che, tipicamente, si venga rediretti verso una pagina di login.

    La security la puoi gestire sfruttando tutta la gestione "dichiarativa" della security offerta da Java EE (e configurabile principalmente nel deployment descriptor, il web.xml). Oppure puoi fare tutto per conto tuo.

    Se vuoi il fai-da-te, una cosa tipica e valida che si può fare è realizzare un filtro (implementazione di javax.servlet.Filter) che filtra tutte le richieste alle pagine protette. La logica del filtro sarebbe tutto sommato semplice: c'è una sessione e un "attributo" in sessione che indica che si è loggati? Allora si prosegue alla pagina protetta. Altrimenti si fa un redirect alla pagina di login.

    La pagina di login invierà il form tipicamente ad una servlet, che farà i suoi controlli e quindi setterà l'attributo in sessione che indica "loggato" e fa tipicamente un redirect ad una pagina protetta di "home" o simile.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    29
    grazie sei stato chiarissimo

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.