Criar Seção para Usuários

2 respostas
Leandro-Freitas

Bom Dia a Todos...
Bom estou com a seguinte dúvida... Estou desenvolvendo um sistema cujo ele tem acesso para Administrador e Usuários Comuns. Pois bem a dúvida está ai, gostaria que o Administrador tivesse o acesso Total as telas do Sistema e os demais usuários com o Acesso limitado. Bom eu tenho uma Classe que Autentica esses usuários no Banco de Dados e mando imprimir para visualizar que tipo de usuário está logado no Sistema até está blz, mas o que eu quero mesmo é que os Usuários Comuns não tenha acesso as demais telas.
segue o código da minha Classe Autentica

import javax.swing.*;
import java.sql.*;
import javax.swing.JOptionPane;

public class ClassAutentica {
    
    /** Creates a new instance of ClassAutentica */
    public ClassAutentica() {    }
    /*Obs o tipo_usuário está comentado*/
    private String login;
    private String senha;  
    private String tipodeusuario;
    //Variáveis para retornar a senha e o login encontrados no banco
    private String retornaLogin;
    private String retornaSenha;   
    private String retornatipousuario;
    private int retornaNivel;
    //======================================
    
    public void setLogin(String _login){
        this.login = _login;        
    }    
    public void setSenha(String _senha){
        this.senha = _senha;
    }    
    public String getLogin(){
        return this.login;
    }    
    public String getSenha(){
        return this.senha;
    }
    
     public String getTipoUsuario(){
        return this.tipodeusuario;
    }

    
    public void setRetornaLogin(String _retornaLogin){
        this.retornaLogin = _retornaLogin;
    }    
    public void setRetornaSenha(String _retornaSenha){
        this.retornaSenha = _retornaSenha;
    }

    public void setRetornaTipoUsuario(String _retornatipousuario){
        this.retornatipousuario = _retornatipousuario;
    }


    public String getretornaLogin(){
        return this.retornaLogin;
    }
    public String getretornaSenha(){
        return this.retornaSenha;
    }
   
    public String getRetornaTipoUsuario(){
        return this.retornatipousuario;
    }

    
    public void setRetornaNivel(int _retornaNivel){
        this.retornaNivel = _retornaNivel;
    }
    
    public int getretornaNivel(){
        return this.retornaNivel;
    }
    
    ClassConecta conexao = new ClassConecta();
    FPrincipal principal = new FPrincipal();
    
    
    public boolean autentica(){ 
        boolean valida = true;
        try{
           conexao.conecta(); 
            Statement stmt = conexao.con.createStatement();            
            ResultSet rs = stmt.executeQuery("select * from Tabusuario where usuario = '"+getLogin()+"' and senha = '"+getSenha()+"'");
            while(rs.next()){
               setRetornaLogin(rs.getString("usuario")); 
               setRetornaSenha(rs.getString("senha"));
               setRetornaTipoUsuario(rs.getString("tipo_usuario"));

               if(getRetornaTipoUsuario().equals("Limitado")  ){
                 System.out.println(rs.getString("tipo_usuario"));                   
                }                         
               setRetornaNivel(1);
            }            
            if(getretornaLogin() == null && getretornaSenha() == null){
                valida = false;
                 }
             }catch(SQLException e){
                JOptionPane.showMessageDialog(null,"Ocorreu um erro no sistema, se o problema persistir contate o administrador:\n"+ e,"ATENÇÃO",JOptionPane.WARNING_MESSAGE);
           }

        return valida;
    }    
}

Bom espero que minha pergunta foi clara, pois quem tiver alguma solução eu agradeço. No caso de imprimir os usuários Limitados eu consegui acho que é um meio caminho para a solução do meu problema.

Grato :)

2 Respostas

lina

Oi,

Qual o banco utilizado? Acredito que ao inserir um determinado usuário, você deverá estabelecer os GRANTS para o mesmo. Ou seja, definir as permissões específicas para cada user. (Tabela, visão etc…)

Tchauzin!

Leandro-Freitas

Estou utilizando o Mysql…Se for esse o caso você pode me explicar como fazer???
Ahhh esqueci de informar que eu tentei bloquear o acesso direto no JMenuItem para não acessar as telas, mas não deu certo

Criado 25 de maio de 2010
Ultima resposta 25 de mai. de 2010
Respostas 2
Participantes 2