Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615

    [JSP] Due quesiti sul sistema di login

    Carissimi,
    vi pongo due quesiti sul sistema di login della mia web application JSP.

    1) La form index invia user e passowrd inserite dall'utente alla pagina login.jsp che le confronta con quelle corrette eseguendo in caso affermativo una istruzione tipo session.setAttribute("statoconnessione","ok"), per poi reindirizzare alla pagina intro.jsp, in caso contrario reindirizza di nuovo alla pagina index.jsp. Fin qui tutto funziona. Ma io vorrei fare in modo che se si arriva alla pagin index.jsp dalla pagina login.jsp venga anche visualizzato un messaggio di errore. Ho provato codici tutto il pomeriggio ma non riesco a farlo, come fare?

    2) Per evitare che un utente possa entrare direttamente in intro.jsp, ho inserito in testa il codice if (session.setAttribute("statoconnessione).equals("o k") == false) {response.sendRedirect("index.jsp") } Ma anche qui non accade quello che vorrei e leggo un messaggio di errore. Come mai?

    Se potete postarmi qualche frammento di esempio ve ne sarei gratissimo, è tutto il giorno che non ne vengo fuori... Grazie tantissimo!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Senza che ci posti gli errori è difficile darti una risposta. Così "a naso" direi che hai dell'output (xhtml) prima del controllo e dell'eventuale redirect. Questo non è consentito: devi fare il controllo e il redirect prima di qualsiasi altra istruzione che generi codice (ossia appena possibile dopo le eventuali direttive di import etc)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    Grazie per il tuo aiuto, ho modificato il codice e solo in parte risolto. Eccoti nel dettaglio le due situazioni. Il mio sistema prevede che nella prima pagina index.jsp l'utente inserisca username e password, quindi che si passi tutto a login.jsp che le confronta con quelle corrette. Se è tutto ok va a intro.jsp, altrimenti torna a index.jsp. Fin qui tutto funziona, indicherò quindi solo le righe incriminate.


    PRIMO QUESITO: ESSERE RIMANDATI A INDEX.JSP MA CON MESSAGGIO DI ERRORE

    Vorrei fare in modo che se l'utente sbagli password veda una index.jsp diversa da quella iniziale, magari con un messaggio di errore. Ho risolto inserendo in login.jsp, nel ciclo di if e nella condizione in cui la connessione non è andata a buon fine, l'istruzione

    request.setAttribute("errorMessage", "Errore di connessione");

    e quindi in index.jsp l'istruzione

    if ((String)request.getAttribute("errorMessage")!=nul l{ %>
    <%=(String)request.getAttribute("errorMessage")% >
    <%}%>


    Però, pur non vedendo messaggi di errore, il mio messaggio desiderato non appare. Come mai?



    SECONDO QUESITO: IMPEDIRE IL BYPASS DEL LOGIN

    In testa ad intro.jsp vorrei inserire qualcosa che, se l'utente dovesse giungere in intro senza aver effettuato il login, lo rimandi di nuovo alla pagina index. Ecco il codice, che genera errore 500:

    <%if ((String)session.getAttribute("Statoconnessione")! ="ok"
    {
    response.sendRedirect("index.jsp");
    }
    %>


    Bene, ora credo di essere stato davvero dettagliato. E ti ringrazio ancora per la tua disponibilità.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    guarda il log di tomcat ed elimina eventuali spazi (righe e quant'altro) bianchi in cima alla pagina, prima di quell'istruzione
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    Fatto in entrambi i casi, non cambia nulla...

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    se c'è un errore, c'è il log... posta quello. non spunta il 500 senza niente altro (a browser solo il 500 e di quello me ne faccio men che niente)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    DOPO INNUMEREVOLI TENTATIVI UNO DEI PROBLEMI E' STATO RISOLTO!

    Ho fatto in modo di impedire il bypass del sistema di login, inserendo quel codice in alto in ogni pagina jsp. Soluzione: il codice era sbagliato perché Java non vede come stringhe gli attributi di sessione. Dopo tantissime ricerche ho visto che bastava aggiungere "toString()" alla fine. Grazie comunque.

    Riguardo il secondo quesito, ora non vedo messaggi di errore però semplicemente torna alla index ma senza scrivere nessun messaggio di errore. Come mai?

    Grazie

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    Ah un'altra cosa! Ho dovuto impostarlo di default nullo. Infatti accedendo direttamente a intro.jsp il programma quella varabile di sessione non la vedeva proprio così gli ho detto: se è null, impostala a False. Ed ho risolto!!!

    Ora resta solo l'altro quesito... Grazie!

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    Tutto risolto. Ho agganciato quel messaggio alla variabile di sessione relativa alla connessione.

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.