Resolvido: Validação de Login (NetBeans x MySQL)

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");
        }
    }                      

Solução:

Após muitas tentativas cheguei num código que me atenda, segue para auxiliar:

//Metodo Consultar
public boolean consultar(String login, String senha) {
        boolean autenticado = false;
        String sql;
        try {
            Connection conn = ConnectionMySQL.getConnection();

            sql = "SELECT idUser, 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()) {
                Acesso = rs.getString("acesso");
                id = rs.getInt("idUser");
                autenticado = true;
            } else {
                ps.close();
                return autenticado;
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(this, ex);
        }
        return autenticado;
    }


//Botão Entrar
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        String valor = new String(txtSenha.getPassword());
        boolean resposta = consultar(txtUsuario.getSelectedItem().toString(), valor);
        if (resposta == true) {
            if (Acesso.equalsIgnoreCase("Inventario")) {
                formRdi frmrdi = new formRdi();
                frmrdi.setVisible(true);
                this.setVisible(false);
            } else {
                formRdiOpe frmrdiOPE = new formRdiOpe();
                frmrdiOPE.setVisible(true);
                this.setVisible(false);
            }
        } else {
            JOptionPane.showMessageDialog(this, "Acesso Negado \nInforme o setor de Inventário");
        }
    }

Fiz até para mudar de senha, segue:

private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) {                                          
        String valor = new String(txtSenha.getPassword());
        boolean resposta = consultar(txtUsuario.getSelectedItem().toString(), valor);
        if (resposta == true) {
            RdiUsuarioDAO usuario = new RdiUsuarioDAO();
            Usuario user = new Usuario();
            user.setSenha(txtNovaSenha.getText());
            try {
                usuario.alterarPass(user, id);
            } catch (SQLException ex) {
                Logger.getLogger(formUsuarios.class.getName()).log(Level.SEVERE, null, ex);
            }
            txtNovaSenha.setVisible(false);
            btnSalvar.setVisible(false);
            JOptionPane.showMessageDialog(this, "Usuário: " + txtUsuario.getSelectedItem().toString() + "\nSua nova senha é: " + txtNovaSenha.getText());
            txtSenha.setText("");
            txtSenha.grabFocus();
        } else {
            JOptionPane.showMessageDialog(this, "Senha incorreta\nPara alterar sua senha você deve informar a antiga");
        }
    }                    

Falouu