Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Strano comportamento filtro

    Per effettuare un test sul controllo personalizzato (non basato sui metodi BASIC o FORM) dei permessi degli utenti ho realizzato una web application di esempio che utilizza un filtro per controllare se è presente in sessione un oggetto "User" (che contiene i dati relativi ad un utente loggato) quando viene effettuata una richiesta verso qualsiasi cosa si trovi nella cartella "area_riservata" e se è presente mostra il messaggio "UTENTE LOGGATO" altrimenti "UTENTE NON LOGGATO".

    La pagina principale della mia web application contiene solamente due tag link:
    pagina
    immagine

    Il contenuto della cartella "area_riservata" dovrebbe essere irrilevante perché a me interessa quello che succede quando si effettua la richiesta.

    Il metodo doFilter della classe filtro utilizzata per il controllo delle richieste è fatto nel seguente modo:
    codice:
        public void doFilter(ServletRequest request, ServletResponse response,
                                    FilterChain chain) throws IOException, ServletException {
            HttpServletRequest req = (HttpServletRequest) request;
            User u = (User) req.getSession().getAttribute("user");
            if (u != null) {
                System.out.println("UTENTE LOGGATO");
            } else {
                System.out.println("UTENTE NON LOGGATO");
            }
            chain.doFilter(request, response);
        }
    Quello che mi aspetto che succeda è che se un utente è loggato il filtro rilevi la presenza dell'oggetto User in sessione è lanci il primo messaggio in caso contrario lanci il secondo messaggio. Effettivamente quando cerco di accedere alla pagina html funziona tutto senza problemi ma quando cerco di accedere all'immagine ottengo tre messaggi di fila, come se "cliccassi" tre volte invece di una e non riesco a capire perché.

  2. #2
    dipende dalle richieste http che vengono fatte dal browser, ogni richiesta passa dal filtro quindi....

    Prova a scaricarti qualche componente aggiuntivo per visualizzare le richieste http del browser, per esempio se usi firefox c'è httpfox, per ie c'è DebugBar.

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.