br.ufsm.csi.hotelmanagementats.controller.AcessoController.java Source code

Java tutorial

Introduction

Here is the source code for br.ufsm.csi.hotelmanagementats.controller.AcessoController.java

Source

/*
 * 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 br.ufsm.csi.hotelmanagementats.controller;

import br.ufsm.csi.hotelmanagementats.dao.UsuarioAdmDao;
import br.ufsm.csi.hotelmanagementats.dao.UsuarioOpDao;
import br.ufsm.csi.hotelmanagementats.model.UsuarioAdministrador;
import br.ufsm.csi.hotelmanagementats.model.UsuarioOperador;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.commons.codec.binary.Base64;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

/**
 *
 * @author Alisson
 */
@Controller
public class AcessoController {

    @RequestMapping(value = "realizarLogin.html", method = RequestMethod.POST)
    public ModelAndView realizarLogin(HttpServletRequest rq, HttpSession session)
            throws NoSuchAlgorithmException, UnsupportedEncodingException {
        System.out.println("-------------------------------");
        System.out.println("Submit Formulrio de Login...");

        String login = rq.getParameter("login");
        String senha = rq.getParameter("senha");
        ModelAndView mv = new ModelAndView("/WEB-INF/views/paginaInicial");

        if (login != null && senha != null) {
            int verificador = login.indexOf("@");

            byte[] senhaByte = senha.getBytes();

            MessageDigest md = MessageDigest.getInstance("SHA-256");
            byte[] hashSenha = md.digest(senhaByte);

            byte[] hashSenhaBase = Base64.encodeBase64(hashSenha);
            String valorSenha = new String(hashSenhaBase, "ISO-8859-1");

            if (verificador != -1) {
                UsuarioAdministrador u = new UsuarioAdministrador();
                u.setEmail(login);

                u.setSenha(valorSenha);

                UsuarioAdmDao uD = new UsuarioAdmDao();

                u = uD.logar(u);

                if (u == null) {
                    mv.addObject("mensagem", "<Strong> Erro</Strong> Dados invlidos!");
                    mv.addObject("tipo", "danger");
                    System.out.println("Erro de Login - Administrador!");
                } else {
                    session.setAttribute("administrador", u);

                    mv = new ModelAndView("/WEB-INF/views/ambienteAdministrador/paginaPrincipalAdm");

                    System.out.println("Login feito com sucesso - Administrador!");
                }

            } else {
                UsuarioOperador u = new UsuarioOperador();
                u.setNickname(login);
                u.setSenha(valorSenha);

                UsuarioOpDao uD = new UsuarioOpDao();

                u = uD.logar(u);

                if (u == null) {
                    mv.addObject("mensagem",
                            "<Strong>Erro</Strong> Dados invlidos ou usurio sem acesso ao Sistema!");
                    mv.addObject("tipo", "danger");
                    System.out.println("Erro de Login - Operador!");
                } else {
                    mv = new ModelAndView("/WEB-INF/views/ambienteEstabelecimento/paginaPrincipalEstabelecimento");
                    // mv.addObject("mensagem", "<Strong> Sucesso!</Strong> Dados vlidos!");
                    // mv.addObject("tipo", "success");
                    session.setAttribute("operador", u);
                    session.setAttribute("estabelecimentoEscolhido", u.getEstabelecimento());

                    System.out.println("Login feito com sucesso - Operador!");
                }
            }
        }

        System.out.println("\n-------------------------------\n");

        return mv;
    }

    @RequestMapping(value = "realizarLogin.html", method = RequestMethod.GET)
    public String realizarLoginGET() {
        return "/WEB-INF/views/paginaInicial";
    }

    @RequestMapping("realizarLogout.html")
    public ModelAndView realizarLogout(HttpSession session) {

        session.invalidate();

        ModelAndView mv = new ModelAndView("/WEB-INF/views/paginaInicial");

        // mv.addObject("mensagem", "<Strong> Sucesso</Strong> Usurio saiu do sistema!");
        // mv.addObject("tipo", "success");

        return mv;
    }
}