marcia09 0 Denunciar post Postado Janeiro 6, 2009 Boa noite pessoal, Devo fazer um controle de acesso nos dados para emitir relatórios, e o controle seria por linha. Uma das alternativas foi usar view. Porém a consulta para saber se um usuário tem ou não permissão é um pouco complexa, envolve algumas tabelas. E não sei se ficaria lento o uso de views... :blink: Alguém tem alguma sugestão para um controle de acesso assim? Obrigada pela atenção.. Márcia Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Janeiro 7, 2009 Se a consulta é complexa a regra de comissão eu a colocaria numa function que retornaria (0 ou 1) se o user tem acesso a linha. Ficaria fácil colocar a function no select. Algo assim SELECT * FROM ... WHERE ... AND F_VALIDA_USER(USER,CHAVE) = 1 Ajudou ? Compartilhar este post Link para o post Compartilhar em outros sites
marcia09 0 Denunciar post Postado Janeiro 9, 2009 Oi Motta, Obrigada pelo retorno. As vews teriam esse check de permissão, porque depende do perfil do usuário. Exemplo: Um usuário A pode acessar todos os documentos de uma pasta X. Outro usuário B, não tem acesso a pasta X, então não podem aparecer os documentos dessa pasta no relatório. Além desse check de permissão, existem documentos confidenciais que nunca devem aparecer em relatórios. E por que views? A ferramenta que se vai construir dá a possibilidade para o usuário fazer seus próprios relatórios em um sistema. Porém, o usuário não pode ter acesso as tabelas do sistema por questão de segurança. Por isso se pensou em views, para dizer quais informações e de quais tabelas ele pode ler. O usuário de conexão com o banco, que é único, teria grant de leitura apenas nessas views. O problema é a lentidão. Bom, não sei se tem outra alternativa.. []'s Márcia Se a consulta é complexa a regra de comissão eu a colocaria numa function que retornaria (0 ou 1) se o user tem acesso a linha. Ficaria fácil colocar a function no select. Algo assim SELECT * FROM ... WHERE ... AND F_VALIDA_USER(USER,CHAVE) = 1 Ajudou ? Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Janeiro 9, 2009 O usuário de conexão é único ? Isto dificulta um pouco o uso de views pois elas não recebem parametros. Como se controla o usuario , se tem uma tabela de usuários e a aplicação controla isto ? Todos os controles de acesso do Oracle são baseados no user/owner , quando se usa usuário único o controle via Oracle "baba". Está usando o que para gerar os rel. Crystal ou algo assim ? Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Janeiro 9, 2009 Quando se usa usuário único fica difícil usar as permissões do Oracle pois elas são baseadas em grant de user. Vai usar o que para estes relatório , Crystal ? Compartilhar este post Link para o post Compartilhar em outros sites