es apresentadas ao usuário.

Neste artigo apresentarei um exemplo que construí utilizando técnicas avançadas e interessantes, para aumento da segurança da aplicação e controle de permissões. O sistema permite, por exemplo, que você diga que um determinado usuário só pode alterar registros da tabela de empregados, mas não incluir ou excluir. Além disso, será possível dizer, por exemplo, que um determinado usuário não pode visualizar um campo em específico (o salário de um empregado, por exemplo). Para facilitar o entendimento dos passos indicados aqui e acompanhar as técnicas apresentadas, sugiro que o leitor faça download do projeto completo a partir do endereço deste artigo.

Criando as tabelas

Primeiramente, precisamos criar as tabelas que armazenarão as permissões dos usuários, bem como os tipos de permissões que vamos ter na aplicação. Na Listagem 1

 temos o código para criação de três tabelas no banco Employee.fdb do Firebird (você pode utilizar o Employee do InterBase, bem como qualquer outro banco de dados). Criamos as tabelas Usuarios, Permissoes e Permissoes_Usuarios.

A lógica consiste em cadastrar usuários e permissões, assim o usuário só poderá realizar determinadas tarefas, como incluir, excluir e salvar um registro em um determinado formulário (Nome_Form) se estiver cadastrado na tabela. Se o usuário não tiver nenhuma permissão no formulário, o mesmo não poderá nem mesmo abri-lo.

Adicione alguns registros na tabela Usuarios e dê algumas permissões ao mesmo. Criaremos dois formulários na aplicação, chamados Customer e Employee.

 

Listagem 1. Script para criação das tabelas no banco

CREATE TABLE USUARIOS (

    ID             INTEGER NOT NULL,

    USER_NAME      VARCHAR(15) NOT NULL,

    SENHA          CHAR(6) NOT NULL,

    ADM            CHAR(1) NOT NULL,

    LEMBRAR_SENHA  CHAR(1));

                       

ALTER TABLE USUARIOS

ADD CONSTRAINT PK_USUARIOS

PRIMARY KEY (ID);

 

CREATE TABLE PERMISSOES (

    ID_PERMISSAO ...

Quer ler esse conteúdo completo? Tenha acesso completo