Oi gente, tenho um sistema web que estou fazendo usando hibernate e Jsf,
porém estou com algumas dúvidas no sistema de login, eu preciso fazer um login q autentique dois tipos de usuarios diferentes, eu estou usando a seguinte logica abaixo:
public String fazerLogin() {
Criteria c = sessao.createCriteria(Usuario.class);
Criterion _login = Restrictions.eq("usu_nome", getUsu_nome());
c.add(_login);
Criterion _senha = Restrictions.eq("usu_senha", getUsu_senha());
c.add(_senha);
System.out.println("resultado: " + _login + " - " + getUsu_nome());
if (c.uniqueResult() != null) {
validated = true;
} else {
validated = false;
}
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("usuariologado", validated);
if (validated) {
return "secBemVindo";
} else {
FacesContext.getCurrentInstance().addMessage("FormLogin:logar", new FacesMessage("Login ou senha incorretos!"));
return null;
}
}
[code]
so q este metodo so consegue autenticar o usuario, mas nao o tipo dele, por exemplo, na minha tabela de usuario tem o tipo deste usuario, ele pode ser um usuario "comum" ou um "administrador", e cada um deles tem telas proprias para navegar, nessa logica abaixo, eu acho q é mais facil implementar o filtro para este tipo de usuario, porem eu nao sei se é mais seguro, alguem poderia me esclarecer isso?
List
int tamanho_lista = lista_alunos.size();
String dados = "";
for (int i = 0; i < tamanho_lista; i++) {
Usuario aluno = lista_alunos.get(i);
dados = dados +
"\n " + aluno.getUsu_id() +
" - " + aluno.getUsu_nome() +
" - " + aluno.getUsu_senha()+
" - " + aluno.getUsu_tipo();;
}
JOptionPane.showMessageDialog(null, dados);
if(tamanho_lista == 1){
System.out.println("validou");
sessao.close();
return "secBemVindo";
}
else {
System.out.println("NÃO validou");
sessao.close();
FacesContext.getCurrentInstance().addMessage("FormLogin:logar", new FacesMessage("Login ou senha incorretos!"));
return null;
}
[code]
