Boa tarde!
Eu sou novo com a linguagem JSF, eu gostaria de saber se tem alguma maneira de pegar uma sessão exclusiva para um usuário, e se tem como eu faço isso?
Obs: Banco de Dados Access.
Eu tenho minha classe LoginBean, LoginMB e o login.xhtml, segue abaixo, o meu código:
//LoginBean
public class LoginBean{
private int codigo;
private String nome;
private String senha;
private boolean ativo;
private boolean loginOk;
private int cod_tipo; // código do tipo de Acesso do usuario(Funcionario normal, ou Funcionario Administrador).
public boolean isLoginOk(){
return loginOk;
}
public void setLoginOk(boolean loginOk) {
this.loginOk = loginOk;
}
public boolean isAtivo() {
return ativo;
}
public void setAtivo(boolean ativo) {
this.ativo = ativo;
}
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public int getCod_tipo() {
return cod_tipo;
}
public void setCod_tipo(int codTipo) {
cod_tipo = codTipo;
}
//LoginMB
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class LoginMB {
private List<LoginBean> logins;
private LoginBean login;
private DBAccessDAO db = new DBAccessDAO();
public LoginMB() throws SQLException {
login = new LoginBean();
logins = new ArrayList<LoginBean>();
}
public DBAccessDAO getDb() {
return db;
}
public void setDb(DBAccessDAO db) {
this.db = db;
}
public List<LoginBean> getLogins() {
return logins;
}
public void setLogins(List<LoginBean> logins) {
this.logins = logins;
}
public LoginBean getLogin() {
return login;
}
public void setLogin(LoginBean login) {
this.login = login;
}
public String verificarLogin() throws SQLException{
String result = "";
db.conectar();
logins.clear();
logins = db.consultaLogin(login);
if (logins.isEmpty()){
//FacesContext.getCurrentInstance().addMessage("", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Nome e Senha não existe na base de dados!", ""));
return "erro";
}else{
for (int i = 0; i < logins.size(); i++) {
if (logins.get(i).isAtivo() == true && logins.get(i).getCod_tipo() == 1) {
result = "sucesso";
login.setLoginOk(true);
//FacesContext.getCurrentInstance().addMessage("1", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Bem vindo ao sistema - Administrador", ""));
}else{
if (logins.get(i).isAtivo() == true && logins.get(i).getCod_tipo() == 2) {
result = "sucesso";
login.setLoginOk(true);
//FacesContext.getCurrentInstance().addMessage("2", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Bem vindo ao sistema - Funcionario", ""));
}
else{
result = "erro";
login.setLoginOk(false);
//FacesContext.getCurrentInstance().addMessage("3", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Seu login não está ativo peça para o Administrador ativar!", ""));
}
}
}
db.desconectar();
//facesMessage
return result;
}
}
}
obrigado.