Ciao a tutti avrei bisogno di un mano per un applicativo che devo modificare.
Sino ad oggi il mio applicativo era accessibile a chiunque all'interno dell'intranet aziendale, adesso la situazione si complica un pò, in quanto devo implementare l'inserimento di username e password all'interno dell'applicativo (si può entrare solamente con l'inserimento di username e password).
Mi sono creato un altro progettino su tomcat (nell'applicazione in produzione viene utilizzato jboss 5.1) ed ho creato le classi java per poter effettuare il login.
e le pagine jsp per vedere se è entrato o no.
Il primo (di numerosi) problemi (o dubbi) che ho incontrato è questo:
Al momento in cui vado a lanciare il login nell'url del browser viene fuori la password in chiaro in questo modo:
http://localhost:8084/Login/LoginSer...password=pippo
queste sono le servlet e le classi java che ho utilizzato:
questa è la servlet per il login
Questa è la classe che modella autenticazione:codice:package login; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import model.Autenticazione; public class LoginServlet extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String username, password; try { HttpSession session = request.getSession(true); Autenticazione autenticazione = (Autenticazione) session.getAttribute("login"); if(autenticazione == null) { autenticazione = new Autenticazione(); } username = request.getParameter("username"); password = request.getParameter("password"); if((username.compareTo("pippo")==0)&&(password.compareTo("pippo")==0)){ autenticazione.setValue(true); session.setAttribute("login", autenticazione); request.getRequestDispatcher("/logOK.jsp").forward(request, response); } else { request.getRequestDispatcher("/logKO.jsp").forward(request, response); } } finally { out.close(); } } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override public String getServletInfo() { return "Short description"; } }
e questo è l'index:codice:package model; public class Autenticazione { boolean accesso = false; public void setValue(boolean accesso){ this.accesso = accesso; } public boolean getValue() { return accesso; } }
come posso evitare che nell'url si veda il valore del campo password?codice:<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Login</title> </head> <body> <form action="LoginServlet" class="container"><input type="submit" value="Ricerca"> </p> </form> </body> </html>
- <label for="code">Username: </label> <input type="text" name="username" id="username" size="30" />
- <label for="code">Password: </label> <input type="password" name="password" id="password" size="30" />
Grazie in anticipo ragazzi

Rispondi quotando
