Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    request su classe Filter

    Ciao,

    su una classe che implementa Filter, volevo fare il controllo di una parametro di sessione (utente abilitato/disabilitato), e passare avanti la richiesta alla Servlet filtrata in caso positivo.

    problema: se dal browser, i cookies sono disabilitati, come aggiro la situazione? visto che riceverò null dalla richiesta della servlet?

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

    Re: request su classe Filter

    Originariamente inviato da cagnaluia
    se dal browser, i cookies sono disabilitati, come aggiro la situazione?
    Con l'URL rewrite.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    visto che si tratta di un login, ho pensato di recuperare utente e password, li nella classe Filter, scrivendo:

    codice:
            HttpServletResponse res = (HttpServletResponse) response;
            HttpServletRequest req =(HttpServletRequest) request;
            String utente,password;
                    utente = req.getParameter("utente");
                    password = req.getParameter("password");

    che sono i parametri arrivati via post dalla index.html (con la form login) verso la servlet di benvenuto.
    (tra le due, il filtro Filter)....
    ma anche questi, mi ritornano, vuoti.. null


  4. #4

    Re: Re: request su classe Filter

    Originariamente inviato da andbin
    Con l'URL rewrite.

    si, perfetto, ne avevamo parlato.. ho aggiunto qua sopra altre info...

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da cagnaluia
    ho pensato di recuperare utente e password, li nella classe Filter
    Non è il filtro che dovrebbe usare e fare qualunque cosa con nome utente/password.
    Il filtro dovrebbe solo fare: sei loggato? vai di qua. non sei loggato? vai di là.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    ok, lascio alla servlet allora.


    allora è meglio che faccia anche la login via servlet... non c'è altro da fare.

  7. #7
    uff....


    ho fatto una Servlet per la login e ho messo l'action della form in post così:

    codice:
    		out.println("<FORM ACTION="+response.encodeURL("/progetto/Login")+" METHOD=POST>");

    quel Login non è filtrato da un Filter, ma mi setta sulla session il valore allowUser = true.

    automaticamente mi redirige sulla Welcome.. che è sotto il filtro Filter.
    Filter controlla allowUser, e passa avanti se è true.

    Ma filter mi trova null su allowUser... sbaglio response.encodeURL ?

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da cagnaluia
    codice:
    		out.println("<FORM ACTION="+response.encodeURL("/progetto/Login")+" METHOD=POST>");
    Corretto ma sarebbe meglio e più "pulito" a livello di HTML se mandi in output gli attributi dentro gli apici (singoli o doppi). Questo in generale. Io perlomeno metto sempre gli attributi tra virgolette.


    Originariamente inviato da cagnaluia
    automaticamente mi redirige sulla Welcome..
    Redirige nel senso proprio di sendRedirect()?? Ok. Ma dovresti anche usare encodeRedirectURL(). Altrimenti se non ci sono i cookie attivi perdi di nuovo la sessione.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    nella Servlet Login, quindi faccio così:

    codice:
            if(allowUtente(utente,password)){
                HttpSession session = request.getSession(true);
                session.setAttribute("allowUtente", true);
                response.sendRedirect(response.encodeRedirectURL("/progetto/Welcome"));
    }

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da cagnaluia
    codice:
    HttpSession session = request.getSession(true);
                session.setAttribute("allowUtente", true);
                response.sendRedirect(response.encodeRedirectURL("/progetto/Welcome"));
    }
    Beh, allora fin qui mi pare corretto.

    Nel filtro come prendi la sessione? Comunque mi sembra strano che il filtro o non trova la sessione o non trova l'attributo.
    Faccio una prova ... non vorrei ci fosse qualche inghippo che adesso mi sfugge.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.