Como faço pra validar permissões, exemplo usuário do tipo administrador não ter acesso a algumas janelas

0 respostas
B

Tela que cadastra os usuários e ja salva o tipo permissão de cada um no banco

public class telacadastrousuario extends javax.swing.JInternalFrame {

Usuario usu = new Usuario();
private List listausuario = new ArrayList();

public telacadastrousuario() {

initComponents();
validatela("inicio");
    montatabela();
}

private void limpaCampos() {

//Limpa os campos do formulário
    cnomefuncionario.setText("");
    csenhalogin.setText("");
    clogin.setText("");
    cconfirmasenhalogin.setText("");

}

private Boolean validaCampos() {
String mensagem = “”;

Boolean retorno = true;
    if (cnomefuncionario.getText().equals("")) {
        mensagem = mensagem + "O campo nome é obrigatório!\n";
        retorno = false;
 
    }
    if (csenhalogin.getText().equals("")) {
        mensagem = mensagem + "O campo senha é obrigatório!\n";
        retorno = false;
    }
    if (clogin.getText().equals("")) {
        mensagem = mensagem + "O campo login é obrigatório!\n";
        retorno = false;
    }
    if (cconfirmasenhalogin.getText().equals("")) {
        mensagem = mensagem + "O campo confirmar senha é obrigatório!\n";
        retorno = false;
    }
    
 
    if (retorno == false) {
        JOptionPane.showMessageDialog(null, mensagem);
    }
    return retorno;
}
private void validatela(String acao){

if (acao.equals(“inicio”)){

//BOTÃOES
    btadicionar.setEnabled(true);
    btsalvar.setEnabled(false);
    btsair.setEnabled(true);
    bteditar.setEnabled(false);
    btcancelar.setEnabled(false);
    btexcluir.setEnabled(false);
    
    //CAMPOS
 
    cnomefuncionario.setEnabled(false);
    cPermissao.setEnabled(false);
    clogin.setEnabled(false);
    csenhalogin.setEnabled(false);
    cconfirmasenhalogin.setEnabled(false);
   
     
}if (acao.equals("novo")){
    
    //BOTÃOES
    btadicionar.setEnabled(false);
    btsalvar.setEnabled(true);
    btsair.setEnabled(true);
    bteditar.setEnabled(true);
    btcancelar.setEnabled(true);
    
    //CAMPOS
   
    cnomefuncionario.setEnabled(true);
    cPermissao.setEnabled(!false);
    clogin.setEnabled(true);
    csenhalogin.setEnabled(true);
    cconfirmasenhalogin.setEnabled(true);
  

}

else if (acao.equals("editar")){
    
    //BOTÃOES
    btadicionar.setEnabled(false);
    btexcluir.setEnabled(false);
    bteditar.setEnabled(false);
    btsalvar.setEnabled(true);
    btcancelar.setEnabled(true);
    btsair.setEnabled(true);
    //CAMPOS
     cnomefuncionario.setEnabled(!false);
    clogin.setEnabled(!false);
    csenhalogin.setEnabled(!false);
    cconfirmasenhalogin.setEnabled(!false);       
 cPermissao.setEnabled(!false);
}

else if(acao.equals(selecionar)){

btadicionar.setEnabled(false);

btexcluir.setEnabled(true);

bteditar.setEnabled(true);

btsair.setEnabled(true);

btcancelar.setEnabled(false);

btsalvar.setEnabled(false);
cnomefuncionario.setEnabled(false);
    cconfirmasenhalogin.setEnabled(false);
    cnomefuncionario.setEnabled(false);
    csenhalogin.setEnabled(false);
}
}

public void montatabela(){

listausuario = HibernateUtil.getSession()

.createCriteria(Usuario.class).list();

DefaultTableModel Colunas = new DefaultTableModel();

Colunas.addColumn(Nome do Usuário);

Colunas.addColumn(Usuário);

Colunas.addColumn(Senha);

Colunas.addColumn(Confirmação da Senha);

Colunas.addColumn(Permissão);

for(Usuario u: listausuario ){

Colunas.addRow(new Object[]{u.getNomefuncionario(),u.getLogin(),u.getSenhalogin()

,u.getConfirmasenhalogin(), u.getPermissao()});

}

jTableUsuario.setModel(Colunas);

}

private void btadicionarActionPerformed(java.awt.event.ActionEvent evt) {

validatela(novo);

}
private void btsalvarActionPerformed(java.awt.event.ActionEvent evt) {                                         
   if (validaCampos()){ 
       if(csenhalogin.getText().equals(cconfirmasenhalogin.getText())){
           
       usu.setNomefuncionario(cnomefuncionario.getText());
       usu.setLogin(clogin.getText());
       usu.setSenhalogin(MD5.md5(csenhalogin.getText()));
       usu.setConfirmasenhalogin(MD5.md5(cconfirmasenhalogin.getText()));
       usu.setPermissao((String)cPermissao.getSelectedItem());
       HibernateUtil.beginTransaction();
      HibernateUtil.getSession().merge(usu);
      HibernateUtil.commitTransaction();
      HibernateUtil.closeSession();
      
      montatabela();
      limpaCampos();
       validatela("inicio");
       
       }else {
           JOptionPane.showMessageDialog(null,"As senhas não correspondem");
       }
    }
}                                        

private void btcancelarActionPerformed(java.awt.event.ActionEvent evt) {                                           
    // TODO add your handling code here:
    limpaCampos();
    validatela("inicio");
}                                          

private void btsairActionPerformed(java.awt.event.ActionEvent evt) {

this.dispose(); // TODO add your handling code here:
}

private void jTableUsuarioMouseClicked(java.awt.event.MouseEvent evt) {                                           
    usu = listausuario.get(jTableUsuario.getSelectedRow());
    cnomefuncionario.setText(usu.getNomefuncionario());
    clogin.setText(usu.getLogin());
    csenhalogin.setText(usu.getSenhalogin());
    cconfirmasenhalogin.setText(usu.getConfirmasenhalogin());
    validatela("selecionar");
}                                          

private void bteditarActionPerformed(java.awt.event.ActionEvent evt) {                                         
    validatela("editar");

}                                        

private void btexcluirActionPerformed(java.awt.event.ActionEvent evt) {                                          
        Object [] opcoes={"Sim","Não"};
        int x = JOptionPane.showOptionDialog(null,"Tem certeza que deseja excluir o "
                + "usuário","Atenção",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,opcoes,opcoes[0]);
        
        if(x==JOptionPane.YES_OPTION){
        
            HibernateUtil.beginTransaction();
            HibernateUtil.getSession().delete(usu);
            HibernateUtil.commitTransaction();
            HibernateUtil.closeSession();
     }
        montatabela();
        limpaCampos();
        validatela("inicio");
}

TELA PRINCIPAL

public class TelaPrincipal extends javax.swing.JFrame {

Usuario usu = new Usuario();

TelaLogin login = new TelaLogin();
public TelaPrincipal() {
    setExtendedState(JFrame.MAXIMIZED_BOTH);
    initComponents();
     HibernateUtil.beginTransaction();
        HibernateUtil.getSession();
        HibernateUtil.commitTransaction();
        HibernateUtil.closeSession();
        
}
private void btClienteActionPerformed(java.awt.event.ActionEvent evt) {

telacadastrocliente objeto=new telacadastrocliente();

jTelaInterna.add(objeto);

objeto.setVisible(true);

}
private void btFornecedorActionPerformed(java.awt.event.ActionEvent evt) {                                             
    telacadastrofornecedor obj=new telacadastrofornecedor(this);
    jTelaInterna.add(obj);
    obj.setVisible(true);
}
private void btUsuarioActionPerformed(java.awt.event.ActionEvent evt) {

telacadastrousuario obj2=new telacadastrousuario();

jTelaInterna.add(obj2);

obj2.setVisible(true);

}

private void btsairMouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

this.dispose();

TelaLogin chamar= new TelaLogin();

chamar.setVisible(true);

}
private void btcproducaoMouseClicked(java.awt.event.MouseEvent evt) {                                         
    
}                                        

private void btmateriaprimaActionPerformed(java.awt.event.ActionEvent evt) {                                               
    telaentradamateriaprima obj8= new telaentradamateriaprima();
    jTelaInterna.add(obj8);
    obj8.setVisible(true);
            
}                                              

private void btservicoActionPerformed(java.awt.event.ActionEvent evt) {                                          
  TelaVulcanizacao obj = new TelaVulcanizacao();
  jTelaInterna.add(obj);
  obj.setVisible(true);
}                                         

private void btsobreMouseClicked(java.awt.event.MouseEvent evt) {                                     
       telasobre obj10= new telasobre();
    jTelaInterna.add(obj10);
    obj10.setVisible(true);
}                                    

private void btvendedorActionPerformed(java.awt.event.ActionEvent evt) {                                           
   telacadastrovendedor obj11=new telacadastrovendedor();
   jTelaInterna.add(obj11);
   obj11.setVisible(true);
}                                          

private void btcadastroempresaActionPerformed(java.awt.event.ActionEvent evt) {                                                  
    telacadastroproduto obj12= new telacadastroproduto();
    jTelaInterna.add(obj12);
    obj12.setVisible(true);
}
Criado 19 de outubro de 2016
Respostas 0
Participantes 1