Como Fazer Um Login Com JSF

0 respostas
jsf
Henrique_Menna

Amigos mais um vez to por aqui, estou fazendo um trabalho da faculdade, que o professor quer uma pagina de login. Pra começar Já fiz toda a parte que salva o usuário, com telas no xhtml, o sistema terá mais dois tipos de usuários o fiscal e o add geral. Minha duvida é, como eu faço para que cada um ter a permissão e assim ao fazer o login seja redirecionado para a pagina certa, sei que tenho que fazer um perfil para cada, só não sei como chamar elas no método do login.
Pagina Login Java
/*

  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package Bean;
import DAO.UsuarioDAO;

import Domain.Usuario;

import Util.MensagesUtil;

import java.io.Serializable;

import java.sql.SQLException;

import java.util.ArrayList;
import javax.faces.application.FacesMessage;

import javax.faces.bean.ManagedBean;

import javax.faces.bean.RequestScoped;

import javax.faces.bean.SessionScoped;

import javax.faces.bean.ViewScoped;

/**
*

  • @author alexandre
    */

public class LoginBean implements Serializable {

private static final long serialVersionUID = 1L;

private Usuario usuario = new Usuario();
private UsuarioDAO usuarioDao;
private ArrayList<Usuario> itens;
    



public String login() throws SQLException {
	usuarioDao = new UsuarioDAO();
	 usuario = usuarioDao.obterUsuario(usuario);	
	 if (usuario != null) {
		if (usuario.getPerfil() == 1) {                            
    return "/telaOpcaoUsuario.xhtml";
} else if (usuario.getPerfil == 2) {
    return "/denunciaFiscalRecebe";
}else { MensagesUtil.adicionarMensagemErro(Usuario e Senha invalidos !);

return /login.xhtml;

}

}

return null;
}
public void Cadastrar() {
 try {
	 	usuarioDao = new UsuarioDAO();
        usuarioDao.salvar(usuario);
        
        setItens(usuarioDao.listar());
        MensagesUtil.adicionarMensagemSucesso("Usuario Salvo Com Sucesso");

    } catch (SQLException ex) {
        ex.printStackTrace();
        MensagesUtil.adicionarMensagemErro(ex.getMessage());
    }
}

public void Excluir() {
    try {
    	usuarioDao = new UsuarioDAO();
        usuarioDao.excluir(usuario);

        setItens(usuarioDao.listar());
        MensagesUtil.adicionarMensagemSucesso("Usuario Removido com Sucesso");

    } catch (SQLException ex) {
        ex.printStackTrace();
        MensagesUtil.adicionarMensagemErro(ex.getMessage());
    }
}

public void Editar() {
    try {
    	usuarioDao = new UsuarioDAO();
        usuarioDao.editar(usuario);

        setItens(usuarioDao.listar());
        MensagesUtil.adicionarMensagemSucesso("Usuario Editado Com Sucesso");

    } catch (SQLException ex) {
        ex.printStackTrace();;
        MensagesUtil.adicionarMensagemErro(ex.getMessage());

    }
}


public UsuarioDAO getUsuarioDao() {
	return usuarioDao;
}

public void setUsuarioDao(UsuarioDAO usuarioDao) {
	this.usuarioDao = usuarioDao;
}

public ArrayList<Usuario> getItens() {
	return itens;
}

public void setItens(ArrayList<Usuario> itens) {
	this.itens = itens;
}

public Usuario getUsuario() {
	return usuario;
}

public void setUsuario(Usuario usuario) {
	this.usuario = usuario;
}

}
Pagina Usuário
/*

  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package Domain;

/**
*
*
*/
public class Usuario {

private Long codigo;
private String nome;
private String senha;
private String endereco;
private String telefone;
private String cpf;
private String tipo;
public int getPerfil =1;

public int getGetPerfil() {
    return getPerfil;
}

public void setGetPerfil(int getPerfil) {
    this.getPerfil = getPerfil;
}


public String getCpf() {
    return cpf;
}

public void setCpf(String cpf) {
    this.cpf = cpf;
}

public Long getCodigo() {
    return codigo;
}

public void setCodigo(Long 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 String getEndereco() {
    return endereco;
}

public void setEndereco(String endereco) {
    this.endereco = endereco;
}

public String getTelefone() {
    return telefone;
}

public void setTelefone(String telefone) {
    this.telefone = telefone;
}

public String getTipo() {
	return tipo;
}

public void setTipo(String tipo) {
	this.tipo = tipo;
}


public String toString() {
    String saida = codigo + "-" + nome + "-" + cpf + "-" + endereco + "-" + tipo + "-" + senha;

    return saida; 
}

public int getPerfil() {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}

}
Pagina Fiscal Java
/*

  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package Domain;
/**

*

*

*/

public class Fiscal {

private Long codigo;

private String nome;

private String cpf;

private Denuncia denuncia;

public int getPerfil=2;
public Denuncia getDenuncia() {
    return denuncia;
}

public void setDenuncia(Denuncia denuncia) {
    this.denuncia = denuncia;
}
public Long getCodigo() {
    return codigo;
}

public void setCodigo(Long codigo) {
    this.codigo = codigo;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getCpf() {
    return cpf;
}

public int getGetPerfil() {
    return getPerfil;
}

public void setGetPerfil(int getPerfil) {
    this.getPerfil = getPerfil;
}

public void setCpf(String cpf) {
    this.cpf = cpf;
}



public String toString() {
    String saida = codigo + "-" + nome + "-" + cpf + "-";
    
    

    return saida;
} 
    public int getPerfil() {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}

}

Criado 1 de junho de 2018
Respostas 0
Participantes 1