Login

4 respostas
Naruto

Bom dia, galera para eu fazer um login como funciona? pode ser tipo um select normal e se estiver correto redireciona ao uma pagina de sucesso com o menu que o usuario pode usar ou é algo masi complexo??

vlww

4 Respostas

juniorsatanas

Para algo complexo : Spring Securyt

Para algo simples :

package br.gov.nutec.mb;

import br.gov.nutec.facade.MensalidadeFacade;
import br.gov.nutec.facade.MensalidadeFacadeImpl;
import java.io.IOException;
import java.io.Serializable;
import java.util.List;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import br.gov.nutec.facade.PessoaFacade;
import br.gov.nutec.facade.PessoaFacadeImpl;
import br.gov.nutec.modelo.Mensalidade;
import br.gov.nutec.modelo.Pessoa;

public class PessoaMB implements Serializable {

    private static long serialVersionUID = 1L;
    public static long getSerialVersionUID() {
    return serialVersionUID;
    }
    public static void setSerialVersionUID(long aSerialVersionUID) {
    serialVersionUID = aSerialVersionUID;
    }

//=========================== classes importadas e relacionadas===========================================//
        private Pessoa pessoa = new Pessoa();
	private Long id;
    
        private Mensalidade Mensalidade = new Mensalidade();

	public PessoaMB(){
		System.out.println(" >>>>>>>>>>>>>>>>>>>> Contrutor do PESSOA_MB <<<<<<<<<<<<<<<<<<");
		if(this.pessoa == null){
			this.pessoa = new Pessoa(); 
		}
	}
	
	public String login() throws Exception{
        boolean logado = false;
        HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
        HttpServletResponse rp = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
        HttpServletRequest rq = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
        PessoaFacade pessoaService = new PessoaFacadeImpl();
        logado = pessoaService.autentica(this.getPessoa().getEmail(), this.getPessoa().getSenha());
        if(logado){
            session.setAttribute("user", logado);
            rp.sendRedirect(rq.getContextPath() + "/pages/index.jsf");
            return "success";
        }else{
            session.setAttribute("user", null);
            session.removeAttribute("user");
            rp.sendRedirect(rq.getContextPath() + "/pages/login/login.jsf");
            return "failure";
        }
    }
        public String logout() {
		HttpServletRequest rq = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
		HttpServletResponse rp = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
		FacesContext facesContext = FacesContext.getCurrentInstance();
		HttpSession session = (HttpSession) facesContext.getExternalContext().getSession(false);
		session.invalidate();
		try {
			rp.sendRedirect(rq.getContextPath() + "/pages/login/login.jsf");
		} catch (IOException e) {
			e.printStackTrace();
		}
		return "logoutOk";
	}
        //* *******************************FUNCOES BASICAS**********************************************************/
	public String save(){
		PessoaFacade pessoaService = new PessoaFacadeImpl();

		pessoaService.salva(this.pessoa);

		this.pessoa = new Pessoa();
                System.out.println(" >>>>>>>>>>>>>>>>>>>> SALVANDO PESSOA <<<<<<<<<<<<<<<<<<");
		return "cadastraSucesso";
	}

	public String delete(){
		PessoaFacade pessoaService = new PessoaFacadeImpl();
		this.pessoa.setId(id);
		pessoaService.remove(this.pessoa);
		this.pessoa = new Pessoa();

		return "removeSucesso";
	}

	public String merge(){
		PessoaFacade pessoaService = new PessoaFacadeImpl();
		pessoaService.atualiza(this.pessoa);
		this.pessoa = new Pessoa();

		return "atualizaSucesso";
	}

	public String load(){
		PessoaFacade pessoaService = new PessoaFacadeImpl();
		this.pessoa = pessoaService.procura(this.id);

		return "pesquisaSucesso";
	}
      
   //* *******************************FUNCOES BASICAS*******FIM*************************************/
        //get set para mensalidades
        public List<Mensalidade> getMensalidades(){
		MensalidadeFacade MensalidadeService = new MensalidadeFacadeImpl();
		return MensalidadeService.lista();
	}
      	public Mensalidade getMensalidade() {
		return Mensalidade;
	}
	public void setMensalidade(Mensalidade Mensalidade) {
		this.Mensalidade = Mensalidade;
	}
        //get set para mensalidades

        public String list(){
		PessoaFacade pessoaService = new PessoaFacadeImpl();
		this.setPessoa(pessoaService.procura(this.getId()));
		return "pesquisaSucesso";
	}
	public String pesquisaByNome(){
		PessoaFacadeImpl pessoaService = new PessoaFacadeImpl();
		this.setPessoa(pessoaService.procuraByNome(this.getPessoa().getNome()));
		return "pesquisaByNomeSucesso";
	}
       
        public List<Pessoa> getPessoasByNome(){
		PessoaFacade pessoaService = new PessoaFacadeImpl();
		List<Pessoa> lista = pessoaService.pesquisaPessoasByNome(this.getPessoa().getNome());
		return lista;
	}
        public List<Pessoa> getPessoasByMatricula(){//seta procura by matricula
		PessoaFacade pessoaService = new PessoaFacadeImpl();
		List<Pessoa> lista = pessoaService.pesquisaPessoasByMatricula(this.pessoa.getMatricula());
		return lista;
	}
         public String pesquisaByMatricula(){ //seta procura by matricula
		PessoaFacadeImpl pessoaService = new PessoaFacadeImpl();
		this.setPessoa(pessoaService.procuraByMatricula(this.getPessoa().getMatricula()));
		return "pesquisaByMatriculaSucesso";
	}
	public List<Pessoa> getPessoas(){
		PessoaFacade pessoaService = new PessoaFacadeImpl();		
		return pessoaService.lista();
	}
	
      	public Pessoa getPessoa() {
		return pessoa;
	}
	public void setPessoa(Pessoa pessoa) {
		this.pessoa = pessoa;
	}
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
}
juniorsatanas
package br.gov.nutec.filtro;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class AuthFilter implements Filter {

    @Override
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		HttpServletRequest rq = (HttpServletRequest) request;
		HttpServletResponse rp = (HttpServletResponse) response;
		boolean auth = rq.getSession().getAttribute("user") != null;

		if (!auth && !rq.getRequestURL().toString().contains("login.jsf")) {
			rp.sendRedirect(rq.getContextPath() + "/pages/login/login.jsf");
		} else {

			try {
				chain.doFilter(request, response);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}	

    @Override
	public void destroy() {

	}

    @Override
	public void init(FilterConfig config) throws ServletException {

	}
}
juniorsatanas
package br.gov.nutec.dao;
import java.util.List;
import org.apache.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import br.gov.nutec.modelo.Pessoa;

public class PessoaDAO extends DAO<Pessoa> {
	private Logger logger = Logger.getLogger(PessoaDAO.class);
	public PessoaDAO(Session session, Class<?> classe) {
		super(session, classe);
	}
	public Pessoa pesquisaPessoaById(Long idPessoa) {
		logger.info("pesquisaPessoaById : " + idPessoa);
		return (Pessoa) session.load(Pessoa.class, idPessoa);
	}
	public Pessoa pesquisaPessoaByNome(String nome) {
		logger.info("pesquisaPessoaByNome : " + nome);
		Criteria c = session.createCriteria(Pessoa.class);
		c.add(Restrictions.ilike("nome", "%" + nome + "%"));
                c.addOrder(Order.desc("matricula")); // ordem descentente
		return (Pessoa)c.uniqueResult();
	}
        //**pesquisa por matricula */
        public Pessoa pesquisaPessoaByMatricula(String matricula) {
		logger.info("pesquisaPessoaByMatricula : " + matricula);
		Criteria c = session.createCriteria(Pessoa.class);
		c.add(Restrictions.ilike("matricula", "%" + matricula + "%"));
                c.addOrder(Order.desc("matricula")); // ordem descentente
		return (Pessoa)c.uniqueResult();
	}
        
       /** fim */
	public Pessoa pesquisaPessoaByEmail(String email) {
		logger.info("pesquisaPessoaByEmail : " + email);
		Criteria c = session.createCriteria(Pessoa.class);
		c.add(Restrictions.ilike("email", email + "%"));
                c.addOrder(Order.desc("matricula")); // ordem descentente
		return (Pessoa)c.uniqueResult();
	}
	@SuppressWarnings("unchecked")
	public List<Pessoa> pesquisaPessoas(String nome){
		Criteria c = session.createCriteria(Pessoa.class);
		c.add(Restrictions.ilike("nome", "%" + nome + "%"));
		c.addOrder(Order.desc("matricula")); //asc
		return c.list();
	}
	public boolean verificaEmailSenha(String email, String senha){
		boolean valid = false;
		System.out.println("DAO metodo isValidLoginAndPassword...");
		System.out.println("DAO session.isOpen() >>> " + session.isOpen());
		Query query = session.createQuery("from Pessoa p where p.email = :em and p.senha = :sen");
		query.setString("em", email);
		query.setString("sen", senha);
		Pessoa pessoa = (Pessoa) query.uniqueResult();
		if(pessoa == null){
			valid = true;
		}
		System.out.println("DAO Pessoa >>> " + pessoa);
		return valid; 
	}
	public Pessoa buscaPessoa(Long id){
		Query q = session.createQuery("select p from " + Pessoa.class.getName() + " as p where p.id like :id");
		q.setParameter("id", id);
                return (Pessoa)q.uniqueResult();
	}

}
Naruto

hummm vopu tentar faze rum login e um logout com o seu exemplo

vlww

Criado 29 de março de 2010
Ultima resposta 29 de mar. de 2010
Respostas 4
Participantes 2