No projet atual que estamos desenvolvendo iremos
implementar algo neste sentido pela aplicação. Mas, as
regras são muitos dinâmicas (umas 12 regras de
visualizações, que em momento podem virar 13,14...cair
para 11, etc).

Uma solução interessante que vi/li também é Label
Security - um built do VPD citado pelo Chiappa.

--- jlchiappa <[EMAIL PROTECTED]> escreveu:

> Paulo, eu discordo de se colocar segurança de acesso
> na aplicação, 
> pelo seguinte : por mais que os usuários finais
> jurem de pé junto que 
> a aplicação atual é suficiente, que os gerentes
> assinem embaixo que 
> os dados TEM que estar "trancados", acessíveis só
> pela aplicação, 
> CEDO ou TARDE vai sim chegar uma hora em que 
> 
> a) a aplicação não atende mais e vai ter que ser
> re-escrita, talvez 
> até em outra linguagem/tool
> 
> e/ou
> 
> b) os dados terão que ser acessados/manipulados por
> outra 
> aplicação/outras fontes.
> 
> Aí se acontecer a), ** todas ** a segurança que vc
> escreveu terá que 
> ser re-escrita (talvez re-aproveitando-se um pouco
> do código, mas às 
> vezes não), e se acontecer b) , ao invés da outra
> fonte acessar 
> diretamente os dados vc VAI ter que escrever alguma
> interface pra 
> ela, mais e mais trabalho, e nem sempre é possível -
> aqui mesmo no 
> cliente atual, temos uma aplicação que tinha regras
> de acesso 
> codificadas, era escrito de pedra e cal que ninguém
> podia acessar os 
> dados fora dela, um belo dia algum diretor
> casca-grossa cismou que 
> tinha porque tinha que ter acesso a esses dados via
> tool front-end X, 
> QUEBROU TUDO, é isso... E pra piorar X só tinha
> acesso à dados via 
> SQL e retsrições do tipo, então NÃO tinha como
> montarmos uma API de 
> acesso, basicamente o que vai ser feito é ter-se um
> OUTRO banco com 
> esses dados....   Numa palavra, segurança fora do
> banco é uma furada, 
> é uma bomba q cedo ou tarde vai explodir na cara de
> alguém, IMHO. Em 
> verdade, o que eu vejo cada vez mais é que as
> aplicações tem um ciclo 
> cada vez mais curto, PORÉM os dados permanecem,
> então penso ser 
> razoável deixar as regras de acesso junto com os
> dados, são itens 
> indissociáveis IMHO...
> 
> Edson, ** facílimo ** de tudo vc ter essa segurança
> de acesso no 
> banco : a opção mais simples é vc ao invés de dar
> GRANTs direto da 
> tabela, vc ter uma VIEW que só busque os dados a que
> o cara tem 
> direito, e vc dá os GRANTs apropriados da view pros
> usuários finais, 
> tipo :
> 
>  CREATE VIEW V_CLIENTES as SELECT * FROM CLIENTES
> WHERE COD_EMPRESA 
> = :valordaempresa;
>  
>  onde esse :valordaempresa pode ser uma var global,
> um context, uma 
> sub-query numa tabelinha oculta, qquer coisa do
> tipo.
>  
>  Uma outra opção boa seria o VPD (Virtual Private
> Database), com ela 
> o banco automaticamente adiciona as regras que vc
> especificar nos 
> SQLs que receber, daí automaticamente um comando
> tipo :
>  
>  SELECT nnn FROM CLIENTES WHERE campo=X;
>  
>  ia ser transformado em :
>  
>  SELECT nnn FROM CLIENTES WHERE campo=X and
> COD_EMPRESA = nnn;
>  
>  ==> Óbvio, ambas as opções podem interferir em
> performance SE não 
> forem bem-planejadas e testadas, mas isso é default
> de 
> desenvolvimento, qquer coisa que vc for fazer SEMPRE
> tem que ter uma 
> fase adequada de teste e planejamento...
>  
>  []s
>  
>   Chiappa

Anderson Haertel Rodrigues
Administrador de Banco de Dados - DBA
Florianópolis/SC


                
_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!
http://br.acesso.yahoo.com


--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________
Moderador e Fundador: Dorian Anderson Soutto [EMAIL PROTECTED]
__________________________________________________________________ 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a