Hai ragione non c'è nessun riferimento al ruolo nel form.
Comunque l'ho modificato e adesso mi riconosce la combinazione Username-Password-Ruolo, indirizzandomi alla pagina corretta, perchè ho modificato anche il metodo getOperatore così:
in pratica mi riempie il vettore nel momento in cui trova la giusta corrispondenza tra Username e password.codice:public Operatore getOperatore(String username, String password) { Operatore res = new Operatore(); String query = "SELECT * FROM operatore WHERE username = '"+username+"'AND password = '"+password+"'"; Vector<Object> v =db.executeSelect(query, "Operatore"); res = (Operatore)v.get(0); return res; }
Ho modificato anche la servlet:
Così però non va ancora bene e ti spiego subito il perchè.codice:public void performTask (HttpServletRequest request, HttpServletResponse response) { OperatoreDAO d = new OperatoreDAO(); Operatore o = d.getOperatore(request.getParameter("username"), request.getParameter("password"));
Se mi loggo come amministratore, inserendo le credenziali di un impiegato, mi indirizza alla pagina errore.jsp. E fin qui ci siamo.
Se mi loggo come amministratore(o impiegato), inserendo le credenziali di un amministratore (o impiegato), mi indirizza alla pagina adminhome.jsp (o emphome.jsp), e fin qui ci siamo pure.
Se però inserisco delle credenziali errate (indipendente dal ruolo), mi da ancora errore perchè non trova la corrispondenza tra username e password, per come ho impostato il metodo getOperatore. Anche qui in pratica il metodo mi da un vettore vuoto, come prima, e mi viene sollevata la stessa eccezione.
Mi rendo conto che mi sto perdendo in un bicchiere d'acqua..ma il problema sta lì, nel metodo getOperatore.

..ma il problema sta lì, nel metodo getOperatore.
Rispondi quotando