ciao sto cercando di fare una pagina di login in jsp che utilizzi i cookie.
Questo è il pezzo di codice interessato:
Quando il login avviene si viene rediretti alla pagina success.jsp che mostra il suo contenuto SOLO SE il cookie admin è stato impostato.
Il problema è che quando mi redirige alla pagina success.jspn la prima volta che faccio il login mi dice errore come se il cookie non esistesse ma se faccio "indietro" e mi riloggo una seconda volta me lo prende e funziona tutto bene. Come mai?
Ecco un pezzo di codice della pagina success.jsp:
Questo è il pezzo di codice interessato:
Codice:
if(username.equals(user) && password.equals(pass))
{
//verifico che sia abilitato come admin
if(admin.equals("Yes"))
{
Cookie mioCookie = new Cookie ("Admin", "logged");
mioCookie.setPath("/");
mioCookie.setMaxAge(60000);
mioCookie.setSecure(false);
response.addCookie(mioCookie);
//Thread.sleep(3000);
%>
<jsp:forward page="success.jsp" />
<%}
}
Il problema è che quando mi redirige alla pagina success.jspn la prima volta che faccio il login mi dice errore come se il cookie non esistesse ma se faccio "indietro" e mi riloggo una seconda volta me lo prende e funziona tutto bene. Come mai?
Ecco un pezzo di codice della pagina success.jsp:
Codice:
<body>
<%
// definisce un array di cookie per leggere quelli dell'utente
Cookie[] cookiesUtente = request.getCookies();
// indice per la gestione del ciclo
int indice = 0;
while (indice < cookiesUtente.length)
{
// esegue il ciclo fino a quando ci sono elementi in cookieUtente
if (cookiesUtente[indice].getName().equals("Admin")) break;
indice++;
// se trova un cookie con il nome che stiamo cercando esce dal ciclo
}// while
if (indice < cookiesUtente.length)
{ // il cookie è stato trovato