Quantcast
Channel: GUJ - Tópicos com a tag hibernate
Viewing all articles
Browse latest Browse all 759

Verificar Usuario na base de dados. Spring security, Hibernate, JSF 2.2, primefaces

$
0
0

@hamilton.mateus escreveu:

Pessoal estou tentado logar com os users que tenho na minha base de dados mas nao consigo ele apenas cria a tabela mas nao vifica o que tem dentro da base de dados. vai ai meu codigo. Ajuda por favor.

UserDetailServiceImpl

package mz.co.mpteventos.springsecurity.controller;

import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;

import mz.co.mpteventos.springsecurity.dao.DAO;
import mz.co.mpteventos.springsecurity.dto.UserDetailsImpl;
import mz.co.mpteventos.springsecurity.model.Conta;

public class UserDetailServiceImpl implements UserDetailsService {

private Conta conta = new Conta();


@Override
public UserDetails loadUserByUsername(String username)
		throws UsernameNotFoundException {

	System.out.println("No sistema " +username);
	System.out.println("Entrou no metodo");
	conta = new DAO<Conta>(Conta.class).listaTodos().get(1);	
	System.out.println("na base de daods " + conta.getNome());
	
	if (username.equalsIgnoreCase(conta.toString())) {
		UserDetailsImpl user = new UserDetailsImpl();/*
		user.setUserName(conta.getNome().toString());
		user.setPassword(conta.getPassword().toString());
		user.addAuthority(conta.getAuthorities().toString());*/
		return user;
	}
	
	throw new UsernameNotFoundException("Usuario não encontrado");
}

// getters & setters

public Conta getConta() {
	return conta;
}

public void setConta(Conta conta) {
	this.conta = conta;
}

}

UserDetailsImpl

package mz.co.mpteventos.springsecurity.dto;

import java.util.ArrayList;
import java.util.Collection;

import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;

public class UserDetailsImpl implements UserDetails {

/**
 * 
 */
private static final long serialVersionUID = 1L;
private String userName;
private String password;
private ArrayList<GrantedAuthorityImpl> authorities;

public void setUserName(String userName) {
	this.userName = userName;
}

public void setPassword(String password) {
	this.password = password;
}

public void addAuthority(String authorityName){
	if (this.authorities == null) {
		authorities = new ArrayList<GrantedAuthorityImpl>();
	}
	GrantedAuthorityImpl aut = new GrantedAuthorityImpl();
	aut.setName(authorityName);
	authorities.add(aut);
}

@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
	// TODO Auto-generated method stub
	return authorities;
}

@Override
public String getPassword() {
	// TODO Auto-generated method stub
	return this.password;
}

@Override
public String getUsername() {
	// TODO Auto-generated method stub
	return this.userName;
}

@Override
public boolean isAccountNonExpired() {
	// TODO Auto-generated method stub
	return true;
}

@Override
public boolean isAccountNonLocked() {
	// TODO Auto-generated method stub
	return true;
}

@Override
public boolean isCredentialsNonExpired() {
	// TODO Auto-generated method stub
	return true;
}

@Override
public boolean isEnabled() {
	// TODO Auto-generated method stub
	return true;
}

}

GrantedAuthorityImpl

package mz.co.mpteventos.springsecurity.dto;

import org.springframework.security.core.GrantedAuthority;

public class GrantedAuthorityImpl implements GrantedAuthority {

/**
 * 
 */
private static final long serialVersionUID = 1L;

private String name;



public String getName() {
	return name;
}



public void setName(String name) {
	this.name = name;
}

@Override
public String getAuthority() {
	// TODO Auto-generated method stub
	return this.name;
}

}

DAO
package mz.co.mpteventos.springsecurity.dao;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.criteria.CriteriaQuery;

import mz.co.mpteventos.springsecurity.model.Conta;

public class DAO {

private final Class<T> classe;

public DAO(Class<T> classe) {
	this.classe = classe;
}

public void adiciona(T t) {

	// consegue a entity manager
	EntityManager em = new JPAUtil().getEntityManager();

	// abre transacao
	em.getTransaction().begin();

	// persiste o objeto
	em.persist(t);

	// commita a transacao
	em.getTransaction().commit();

	// fecha a entity manager
	em.close();
}

public void remove(T t) {
	EntityManager em = new JPAUtil().getEntityManager();
	em.getTransaction().begin();

	em.remove(em.merge(t));

	em.getTransaction().commit();
	em.close();
}

public void removeNaLista(List<T> t) {
	EntityManager em = new JPAUtil().getEntityManager();
	em.getTransaction().begin();

	for (int i = 0; i < t.size(); i++) {
		em.remove(em.merge(t.get(i)));
	}
	
	em.getTransaction().commit();
	em.close();
}

public void atualiza(T t) {
	EntityManager em = new JPAUtil().getEntityManager();
	em.getTransaction().begin();

	em.merge(t);

	em.getTransaction().commit();
	em.close();
}

public List<T> listaTodos() {
	EntityManager em = new JPAUtil().getEntityManager();
	CriteriaQuery<T> query = em.getCriteriaBuilder().createQuery(classe);
	query.select(query.from(classe));

	List<T> lista = em.createQuery(query).getResultList();

	em.close();
	return lista;
}

public T buscaPorId(Integer id) {
	EntityManager em = new JPAUtil().getEntityManager();
	T instancia = em.find(classe, id);
	em.close();
	return instancia;
}

public T buscaPorNome(String t) {
	EntityManager em = new JPAUtil().getEntityManager();
	T instancia = em.find(classe, t);
	em.close();
	return instancia;
}

 public Conta encontrarUsuario(String nameUser) {
	 EntityManager em = new JPAUtil().getEntityManager();
     try {
    	 Conta user = (Conta) em
                      .createQuery(
                                  "SELECT c from Conta c where c.nome = :nome and c.password = :password and r.authorities - :authorities")
                      .setParameter("nome", nameUser);
    	 			

           return user;
     } catch (NoResultException e) {
           return null;
     }

}

public int contaTodos() {
	EntityManager em = new JPAUtil().getEntityManager();
	long result = (Long) em.createQuery("select count(n) from evento n")
			.getSingleResult();
	em.close();

	return (int) result;
}

public List<T> listaTodosPaginada(int firstResult, int maxResults) {
	EntityManager em = new JPAUtil().getEntityManager();
	CriteriaQuery<T> query = em.getCriteriaBuilder().createQuery(classe);
	query.select(query.from(classe));

	List<T> lista = em.createQuery(query).setFirstResult(firstResult)
			.setMaxResults(maxResults).getResultList();

	em.close();
	return lista;
}

}

JPAUtil
package mz.co.mpteventos.springsecurity.dao;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class JPAUtil {

private static EntityManagerFactory emf = Persistence.createEntityManagerFactory("springsecurity");

public EntityManager getEntityManager() {
	return emf.createEntityManager();
}

public void close(EntityManager em) {
	em.close();
}

}

persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">

<persistence-unit name="springsecurity" transaction-type="RESOURCE_LOCAL">
	<provider>org.hibernate.ejb.HibernatePersistence</provider>

	<class>mz.co.mpteventos.springsecurity.model.Conta</class>


	<properties>
		<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
		<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/mpteventosdb" />
		<property name="javax.persistence.jdbc.user" value="root" />
		<property name="javax.persistence.jdbc.password" value="fonsildb2" />

		<property name="hibernate.hbm2ddl.auto" value="create" />
		<property name="hibernate.show_sql" value="true" />
		<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
	</properties>
</persistence-unit>

Nota: Se eu tentar logar sem precisar dabase de dados directo ele aceita.

Mensagens: 1

Participantes: 1

Ler tópico completo


Viewing all articles
Browse latest Browse all 759

Trending Articles


FORECLOSURE OF REAL ESTATE MORTGAGE


HOY PANGIT, MAGBAYAD KA!


Girasoles para colorear


Presence Quotes – Positive Quotes


OFW quotes : Pinoy Tagalog Quotes


5 Tagalog Relationship Rules


“Mali man na ikaw ay ibigin ko, akoy iibig padin sayo”


RE: Mutton Pies (frankie241)


Vimeo 10.7.0 by Vimeo.com, Inc.


Vimeo 10.7.1 by Vimeo.com, Inc.


Long Distance Relationship Tagalog Love Quotes


Pokemon para colorear


Sapos para colorear


tagalog love Quotes – Tiwala Quotes


The business quotes | Inspirational and Motivational Quotes for you


“BAHAY KUBO HUGOT”


Re:Mutton Pies (lleechef)


Ka longiing longsem kaba skhem bad kaba khlain ka pynlong kein ia ka...


EASY COME, EASY GO


UPDATE SC IDOL: TWO BECOME ONE



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>