No sistema que eu estou desenvolvendo, há dois atores: o operador e o gerente. Tenho uma tabela chamada usuario, e esta possui um campo tipo que pode ser: total ou parcial. O operador tem acesso parcial ao sistema, e o gerente tem acesso total. Vamos logo para a parte interessante.
Minha consulta é esta:private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// lista que carregar o resultado de uma consulta de usuario tipo (acesso) Total
listausuario1 = sessao.createQuery("from Usuario where login like '"+jTLogin.getText()+"%' and senha like '"+(EncriptaSenha.encripta(jPSenha.getText()))+"%' and Tipo='Total'").list();
// lista que carregar o resultado de uma consulta de usuario tipo (acesso) Parcial
listausuario2 = sessao.createQuery("from Usuario where login like '"+jTLogin.getText()+"%' and senha like '"+(EncriptaSenha.encripta(jPSenha.getText()))+"%' and Tipo='Parcial'").list();
if (listausuario1.size() > 0) { // Valida acesso Total
String args[] = new String[1];
args[0] = listausuario1.get(0).getCodUsu().toString();
Menu.main(args);
dispose();
}
else if (listausuario2.size() > 0) { // Valida acesso Parcial
String args[] = new String[1];
args[0] = listausuario2.get(0).getCodUsu().toString();
Menu.main(args);
dispose();
} else {
JOptionPane.showMessageDialog(null, "Login ou Senha Incorreta"); // usuário não encontrado
jTLogin.requestFocus();
jTLogin.selectAll();
jPSenha.setText("");
}
}
Quando o usuário é validado, a tela principal do sistema é aberta. Na barra de ferramentas desta tela, há um jMenuUtilitarios -> jItemMenuSegurança -> jITemMenuCadastroDeUsuarios, que somente o gerente terá acesso, ou seja, o usuário Tipo 'Total'.
Como eu faço para desabilitar (deixar cinza) este jMenu e seus jItemMenus, guando o usuário for do Tipo 'Parcial'? Isso é controlado por código ou pela propriedade do jMenu e jItemMenu?