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
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
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;
}
}
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 {
}
}
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();
}
}
hummm vopu tentar faze rum login e um logout com o seu exemplo
vlww