Como realizar o método de login

0 respostas
jsfjavahibernate
L

Olá.
Estou realizando um pequeno projeto de Java Web utilizando o JSF + PrimeFaces e Hibernate.

Gostaria de saber como eu faço para, em uma tela de login, verificar se um usuário e senha que foram inseridos num momento prévio existem dentro da tabela (utilizando o Hibernate).

Por exemplo: um usuário e uma senha foram inseridos em campos de texto diferentes. Gostaria de, após clicar o botão Logar, verificar se as Strings inseridas nos campos de usuário e senha existem dentro de uma tabela com colunas senha e usuário. Daí, se existirem, envia uma mensagem pro console dizendo que foi possível o login. Se não, envia que não foi possível.

Vou dar aqui o meu projeto para, se possível, receber alguma ajuda. :slight_smile:

ManagedBean UserBean (o problema segue nesta classe):

private String nome;
private String senha;

public UserBean() {
}

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public String getSenha() {
	return senha;
}

public void setSenha(String senha) {
	this.senha = senha;
}

public void registerUser() {
	try {
		SessionManager sessionManager = new SessionManager();
		sessionManager.buildSession("hibernate.cfg.xml");

		UserEntity user = new UserEntity();

		user.setUsername(getNome());
		user.setPassword(getSenha());

		Transaction tx = sessionManager.getSession().beginTransaction();
		sessionManager.getSession().save(user);
		tx.commit();

		sessionManager.closeSession();
		System.out.println("Nome de usuário: " + getNome() + ", Senha: " + getSenha());
	} catch (RuntimeException e) {
		System.out.println(e.getMessage());
	} catch (Exception e) {
		System.out.println(e.getMessage());
	}
}

public void loginUser() {
	try {
		SessionManager sessionManager = new SessionManager();
		sessionManager.buildSession("hibernate.cfg.xml");
		// ----------------> Estou com problemas aqui <---------------
	} catch (RuntimeException e) {
		System.out.println(e.getMessage());
	} catch (Exception e) {
		System.out.println(e.getMessage());
	}
}

}

Entidade UserEntity:

private Integer id;
private String username;
private String password;

public UserEntity() {}

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id_user")
public Integer getId() {
	return id;
}

public void setId(Integer id) {
	this.id = id;
}

@Column(name="username")
public String getUsername() {
	return username;
}

public void setUsername(String username) {
	this.username = username;
}

@Column(name="password")
public String getPassword() {
	return password;
}

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

}

Tela de login login.xhtml:
https://pastebin.com/FkxAhydy
(infelizmente não consegui inserir o código do XHTML aqui).

Desde já, obrigado. :slight_smile:

Criado 17 de junho de 2019
Respostas 0
Participantes 1