Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * 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 com.ifb.bean;
- import java.io.IOException;
- import java.io.UnsupportedEncodingException;
- import java.security.MessageDigest;
- import java.security.NoSuchAlgorithmException;
- import java.util.List;
- import javax.faces.bean.ManagedBean;
- import javax.faces.bean.RequestScoped;
- import javax.faces.context.FacesContext;
- import javax.persistence.EntityManager;
- import javax.persistence.EntityManagerFactory;
- import javax.persistence.EntityTransaction;
- import javax.persistence.Persistence;
- import javax.persistence.Query;
- import javax.servlet.http.HttpSession;
- /**
- *
- * @author gustavo
- */
- @ManagedBean
- @RequestScoped
- public class UsuarioBean {
- public UsuarioBean() {
- }
- private Usuario usuario = new Usuario();
- private List<Usuario> listaUsuario;
- public Usuario getUsuario() {
- return usuario;
- }
- public void setUsuario(Usuario usuario) {
- this.usuario = usuario;
- }
- public void setListaUsuario(List<Usuario> listaUsuario) {
- this.listaUsuario = listaUsuario;
- }
- public List<Usuario> getListaUsuario() {
- EntityManagerFactory emf = Persistence.createEntityManagerFactory("default");
- EntityManager em = emf.createEntityManager();
- Query q = em.createNativeQuery("SELECT * FROM tblusuario;", Usuario.class);
- this.listaUsuario = q.getResultList();
- em.close();
- return listaUsuario;
- }
- public void salvar(int id_login) throws IOException, IndexOutOfBoundsException, NoSuchAlgorithmException {
- EntityManagerFactory emf = Persistence.createEntityManagerFactory("default");
- EntityManager em = emf.createEntityManager();
- usuario.setFk_login(id_login);
- em.getTransaction().begin();
- em.persist(usuario);
- em.getTransaction().commit();
- em.close();
- FacesContext.getCurrentInstance().getExternalContext().redirect("index.xhtml");
- }
- public void excluir(Usuario usuario) {
- EntityManagerFactory emf = Persistence.createEntityManagerFactory("default");
- EntityManager em = emf.createEntityManager();
- EntityTransaction tx = em.getTransaction();
- tx.begin();
- usuario = em.merge(usuario);
- em.remove(usuario);
- tx.commit();
- em.close();
- }
- public void atualizar() throws IOException {
- EntityManagerFactory emf = Persistence.createEntityManagerFactory("default");
- EntityManager em = emf.createEntityManager();
- em.getTransaction().begin();
- Usuario usuarioDet = em.find(Usuario.class, usuario.getId_usuario());
- usuarioDet.setApelido(usuario.getApelido());
- usuarioDet.setFk_estado(usuario.getFk_estado());
- em.merge(usuarioDet);
- em.getTransaction().commit();
- em.close();
- FacesContext.getCurrentInstance().getExternalContext().redirect("lista_usuario.xhtml");
- }
- public String criptografar() throws NoSuchAlgorithmException, UnsupportedEncodingException {
- MessageDigest algoritmo = MessageDigest.getInstance("SHA-256");
- byte arraySenha[] = algoritmo.digest(usuario.getApelido().getBytes("UTF-8"));
- StringBuilder senhaCripto = new StringBuilder();
- for (byte b : arraySenha) {
- senhaCripto.append(String.format("%02X", b));
- }
- return senhaCripto.toString();
- }
- public void validaUsuario() throws IOException, NoSuchAlgorithmException {
- EntityManagerFactory emf = Persistence.createEntityManagerFactory("default");
- EntityManager em = emf.createEntityManager();
- Query q = em.createNativeQuery("SELECT COUNT(id_usuario) FROM tblusuario AS usuario "
- + " INNER JOIN tbllogin AS login on usuario.fk_login = login.id_login "
- + " WHERE usuario.login = ? AND login.senha = ? ");
- q.setParameter(1, usuario.getApelido());
- q.setParameter(2, this.criptografar());
- int total = Integer.parseInt(q.getSingleResult().toString());
- em.close();
- if (total == 1) {
- HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true);
- session.setAttribute("usuarioLogado", usuario.getApelido());
- FacesContext.getCurrentInstance().getExternalContext().redirect("admin/index.xhtml");
- } else if (total == 0) {
- FacesContext.getCurrentInstance().getExternalContext().redirect("negado.xhtml");
- } else {
- FacesContext.getCurrentInstance().getExternalContext().redirect("erro.xhtml");
- }
- }
- public void logout() throws IOException {
- HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true);
- session.invalidate();
- FacesContext.getCurrentInstance().getExternalContext().redirect("../index.xhtml");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement