Fala galera beleza!
Estou desenvolvendo uma aplicação em java e só falta a tela de login pra eu terminar, o problema é que estou querendo utilizar o conceito de permissão ou seja tenho uma String “username” uma String “senha” e um String “acesso”, faço a validação se usuario e senha digitados no login, se for igual a usuário e senha do BD, faço login no sistema e já retorno numa varável publica o “acesso” e de acordo com o acesso oculto a tela de login e abro a tela referente ao acesso.
Segue meus códigos para voces darem uma olhada:
Variável publica no inicio do código da tela Login:
public class formLogin extends javax.swing.JFrame {
public String Acesso;//Variavel global para armazenaro o acesso do login
.
.
.
Método para verificar e validar o login:
//Método para Consultar, verificar e validar Acesso
public boolean consultar(String login, String senha) {
boolean autenticado = false;
String sql;
try {
Connection conn = ConnectionMySQL.getConnection();
sql = "SELECT username, senha, acesso FROM usuarios WHERE username=? and senha=?";
PreparedStatement ps;
ps = conn.prepareStatement(sql);
ps.setString(1, login);
ps.setString(2, senha);
ResultSet rs;
rs = ps.executeQuery();
if (rs.next()) {
String user = rs.getString("username");
String pass = rs.getString("senha");
Acesso = rs.getString("acesso");//Aqui armazeno o acesso ("Inventario" ou "Operacao") na variável publica Acesso declarada no inicio do código
autenticado = true;
} else {
//JOptionPane.showMessageDialog(this, "Acesso Negado \nInforme o setor de Inventário");
ps.close();
return autenticado;
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, ex);
}
return autenticado;
}
Evento Click do botão “Logar”:
//Botão Entrar
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
boolean resposta = consultar(txtUsuario.getSelectedItem().toString(), txtSenha.getText());//Pego usuario e senha digitados e jogo no metodo consultar para validar
if (resposta == true) {//Se Usuario e senha estiverem corretos
if (Acesso == "Inventario") { //Aqui é a variável se for "Inventario" abro a tela RDI
this.setVisible(false);
formRdi frmrdi = new formRdi();
frmrdi.setVisible(true);
}else if(Acesso == "Operacao"){ //Aqui é a variável se for "Operacao" abro a tela RDIOpe
this.setVisible(false);
formRdiOpe frmrdiOPE = new formRdiOpe();
frmrdiOPE.setVisible(true);
}
} else {
JOptionPane.showMessageDialog(rootPane, "Usuário e(ou) senha incorretos!\nEntre em contato com setor de Inventário");
}
}