e' sufficiente mettere in sessione l'oggetto "utente", che al suo interno oltre a username, password conterra' anche un ruolo (o una collection di ruoli).
quindi avrai, per esempio:
codice:
public class Utente {
private String username;
private String password;
private String ruolo; //per semplicita' di esempio! Probabilmente avrai l'esigenza di
//utilizzare una classe apposita rappresentare i ruoli, o cmq
//vorrai trovare una soluzione piu' elegante come usare un'enum
...//tutti i metodi getter, setter, e quant'altro ti serva
}
il funzionamento e' questo:
1) quando l'utente esegue il login, tu carichi dal database l'oggetto Utente a partire dallo username inserito dall'utente. Se getPassword() corrisponde a quella inserita dall'utente, l'autenticazione e' andata a buon fine. Tutto questo sarebbe:
codice:
Utente u = ....; //recuperi l'utente dal db a partire dallo username
if(u.getPassword().equals(request.getParameter("psw")) { //controlli che la psw sia corretta
HttpSession session = request.getSession();
session.setAttribute("utente", u);
}
2) d'ora in poi puoi fare tutti i controlli recuperando l'attributo "utente" presente in sessione.
codice:
HttpSession session = request.getSession(false);
Utente u = (Utente) session.getAttribute("utente");
if(u.getRuolo().equals("amministratore")) {//esempio... ovviamente meno stringhe ci sono
//nel tuo codice meglio e'...
.........
}
3) quando l'utente esegue il logout
codice:
HttpSession session = request.getSession(false);
session.invalidate();
se ti rimangono ancora dei dubbi non hai che da chiedere...