GARANTIR DESCONTO

Fórum Esconder campo - Role #47941

08/11/2004

0

Pessoal queria aprender sobre role, entrei aqui e no pesquisar consegui as informacoes que precisava, so fiquei com algumas duvidas.

Eu fiz um role e dei as permissoes que gostaria, porem nao sei se tem como ao dar um select nao me retornar o valor do SALARIO, eu entro com o usuario com o role, porem ao dar select * from Funcionarios volta sempre o valor do salario tbm, nao sei se tem como ´esconder´ esse campo, ou se ele so seria escondido no delphi mas o banco de dados o retornaria, se alguem ja vez algum sistema assim poderia me dizer que metodo utilizou para em determinado ROLE nao retornasse alguns campos.

E aproveitando tenho um livro que mostra como faz no delphi para determinado usuario abilitar ou nao os menus, utilizando o ActionList, sera que isso seria a melhor maneira?

Desde ja agradeco.


Renato_sp

Renato_sp

Responder

Posts

08/11/2004

Gandalf.nho

A maneira mais simples de ´esconder´ campos é criar uma view que retorne só os campos desejados e dar permissões para o role na view e não na tabela base.


Responder

Gostei + 0

09/11/2004

Renato_sp

Entao o correto seria fazer uma view e dar permissoes a ela... pensei que dava para nao trazer determinado campo, valeu mesmo.

E aproveitando que significa o Reference? nao consegui compreender direito, e tbm tem la execute que ta desabilitado, para que ambos serve?

Muito obrigado. Valeu


Responder

Gostei + 0

09/11/2004

Afarias

|E aproveitando que significa o Reference? nao consegui compreender
|direito, e tbm tem la execute que ta desabilitado, para que ambos
|serve?

EXECUTE serve para dar privilégios de execução em procedimentos

GRANT EXECUTE ON PROCEDURE_TAL TO ROLE_TAL;


REFERENCES serve apenas para campos q pertencem a chaves primárias. É usado para permitir q tabelas façam referência (FOREIGN KEY) a outras tabelas q o usuário não tem acesso.

Por exemplo::

vc tem 2 tabelas::

VENDAS (DATA, ITEM_CODIGO, TOTAL) e ITENS (CODIGO, NOME)

onde vc tem a relação VENDAS.ITEM_CODIGO = ITENS.CODIGO

o usuário X tem acesso a tabela VENDAS mas não tem acesso a tabela ITENS -- para q ele possa fazer uso da relação acima, ele deve ter pelo menos direito de REFERENCES na tabela ITENS

grant references on itens to x;

assim, ele não tem acesso a tabela ITENS mas a relação continua ´funcionando´


T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar