Ciao ragazzi,
Ho una pagina html che permette di effettuare il login ad un'applicazione. Oltre agli input text di username e password è presente una checkbox che se TRUE scrive sul client un cookie con l'utenza.
Fino a qui funziona tutto. L'accesso avviene e il cookie viene scritto. In questo modo mi trovo due cookie, uno sessionId e l'altro scritto con la checkbox.
Il mio problema è che non capisco come associare la session id, al cookie, e che controllo fare per sapere se l'utente è già connesso nella pagina successiva al login chiamata home.
Questa è la parte della scrittura del cookie in un javabean:
codice:
if (bean.getAuth()) {
session.setAttribute("utente", username);
if (request.getParameter("linked")!=null) {
Cookie cookie = new Cookie("RUBRICHE",username);
cookie.setPath("/");
cookie.setComment("utenza");
cookie.setMaxAge(24*60*60);
response.addCookie(cookie);
}
response.sendRedirect("home.jsp");
Questa è la pagina di login:
codice:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Rubriche Telefoniche - Login</title>
</head>
<body bgcolor="yellow">
<%
boolean foundCookie = false;
String user = null;
Cookie[] cookiesUtente = request.getCookies();
if (cookiesUtente != null) {
for(int i=0; i< cookiesUtente.length; i++) {
if (cookiesUtente[i].getName().equals("RUBRICHE")) {
user = cookiesUtente[i].getValue();
foundCookie = true;
}
}
}
if (foundCookie) {
response.sendRedirect("home.jsp");
}
%>
<h2>Rubriche Telefoniche</h2><br>
<br>
<img src="images/telefono_fisso.jpg">
<br>
<p>Per visualizzare le rubriche è necessario effettuare il login</p>
<form action="login.jsp" method="post">
<fieldset>
<legend>Form di login</legend>
<label>Username:</label><input type="text" name="username"><br>
<label>Password:</label><input type="password" name="password"><br>
<input type="checkbox" name="linked" value="false">Resta Collegato<br>
</fieldset>
<input type="submit" value="Connettiti" name="login">
</form>
</body>
</html>
e questa è la pagina Home dove dovrei controllare se l'utente è connesso e che non so come modificare:
codice:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Rubrica - Home</title>
</head>
<body bgcolor="yellow">
<% if (session.isNew() || session.getAttribute("utente")==null) {
%> <p> Non sei Loggato! Tra qualche secondo andrai alla pagina di login. <br>
<br>
Se non vuoi aspettare, clicca <a href="index.jsp">qui</a></p>
<meta http-equiv="refresh" content="3;url=index.jsp"/>
<% } else {
%>
<h2>Home Page - Rubriche</h2>
<p>Benvenuto nell'applicazione rubriche <b> <%= session.getAttribute("utente")%> </b>! <a href="logout.jsp">Logout</a></p>
<br>
....