package controle;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import usuario.UsuariosBanco;
import modelo.Usuario;
@ManagedBean(name = "loginActionBean")
@SessionScoped
public class LoginActionBean {
protected static final String FALHA_LOGIN = "FalhaLogin";
protected static final String PERFIL_ADMINISTRADOR = "Administrador";
protected static final String PERFIL_ALUNO = "Aluno";
protected static final String PERFIL_PROFESSOR = "Professor";
private String usuarioLogin;
private String usuarioSenha;
private Usuario usuarioAtual;
private boolean isLogado;
@ManagedProperty(value="#{usuarioBanco}")
private UsuariosBanco usuarioBanco;
public String deslogar() {
usuarioAtual = null;
limpaCampos();
return "deslogar";
}
public String logar() {
popular();
Usuario usuario;
if ((usuario = usuarioBanco.recuperarUsuarioPorNome(usuarioLogin)) != null)
{
if (isLogado = usuario.verificarSenha(usuarioSenha))
{
usuarioAtual = usuario;
}
}
return verificarPerfilUsuarioAtual();
}
private void limpaCampos() {
usuarioLogin = "";
usuarioSenha = "";
}
private String verificarPerfilUsuarioAtual() {
if (usuarioAtual == null) {
return FALHA_LOGIN;
}
if (PERFIL_PROFESSOR.equals(usuarioAtual.getPerfil()))
{
return PERFIL_PROFESSOR;
}
if (PERFIL_ALUNO.equals(usuarioAtual.getPerfil()))
{
return PERFIL_ALUNO;
}
if (PERFIL_ADMINISTRADOR.equals(usuarioAtual.getPerfil())) {
return PERFIL_ADMINISTRADOR;
}
return FALHA_LOGIN;
}
private void popular() {
usuarioBanco = new UsuariosBanco();
usuarioBanco.preencherUsuariosBanco();
}
public String getUsuarioLogin() {
return usuarioLogin;
}
public void setUsuarioLogin(String usuario) {
this.usuarioLogin = usuario;
}
public String getSenha() {
return usuarioSenha;
}
public void setSenha(String senha) {
this.usuarioSenha = senha;
}
public Usuario getUsuarioAtual() {
return usuarioAtual;
}
public void setUsuarioAtual(Usuario usuarioAtual) {
this.usuarioAtual = usuarioAtual;
}
public UsuariosBanco getUsuarioBanco() {
return usuarioBanco;
}
public void setUsuarioBanco(UsuariosBanco usuarioBanco) {
this.usuarioBanco = usuarioBanco;
}
public boolean isLogado() {
return isLogado;
}
public void setLogado(boolean isLogado) {
this.isLogado = isLogado;
}
}