Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Forms
Forms Forum d'entraide sur Oracle Forms
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/12/2006, 11h29   #1
Invité de passage
 
Inscription : septembre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 4
Points : 1
Points : 1
Par défaut problème de confidentialité / messages d'erreur

Bonjour,


J'ai un petit souci avec une base oracle ( Release 9.2.0.5.0 ).

J'ai mis en place une petite confidentialité pour l'accès aux tables selon les utilisateurs, que j'ai dispatché dans 3 roles différents. Un qui est admin, l'autre d'update et le dernier de simple select.

Admettons que le schema "propriétaire" des tables dans l'instance est TOTO.

Dans le role select j'ai, en plus du create session, granté le select sur les tables TOTO.table1 et TOTO.table2 mais aucun droit sur TOTO.table3

Si un user ( différent de TOTO of course ) du role_select tente un select sur la table3 il a une erreur lui disant que TOTO.table3 n'existe pas ... Est il possible de faire en sorte que le message soit plutôt " Vous ne disposez pas de droits suffisants pour faire un select " , ce qui serait plus logique ?

D'avance merci.
nodoxe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2006, 11h36   #2
Membre éclairé
 
Inscription : décembre 2004
Messages : 349
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2004
Messages : 349
Points : 367
Points : 367
comment accèdent les utilisateurs à ces tables ? ( ihm , plus80w ... )
taska est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2006, 11h42   #3
Invité de passage
 
Inscription : septembre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 4
Points : 1
Points : 1
Bonjour taska,

par simple ligne de commande SQL ( sous Unix AIX / Oracle , j'avais pas précisé, désolé ! ).
nodoxe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2006, 11h47   #4
Membre éclairé
 
Inscription : décembre 2004
Messages : 349
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2004
Messages : 349
Points : 367
Points : 367
je n'ais pas de réponse désolé.

C'eut été sous Forms ...
taska est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2006, 07h22   #5
Membre éprouvé
 
Avatar de star
 
Inscription : février 2004
Messages : 450
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 450
Points : 417
Points : 417
Code :
1
2
3
4
5
6
7
8
DECLARE
rec table3%ROWTYPE;
BEGIN
SELECT * INTO rec FROM table3;
EXCEPTION
WHEN others THEN
DBMS_OUTPUT.PUT_LINE('Vous ne disposez pas de droits suffisants pour faire un select');
END;
.
star est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2006, 08h21   #6
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
Non, ce qui peut être fait sous SQL, ne doit pas être fait sous PL/SQL

De plus, le message "table or view does not exists" est générique que la table n'existe réellement pas ou que l'utilisateur n'ait pas les permissions dessus pour des raisons de sécurité.
Savoir que la table existe, c'est donner des indications inutiles aux personnes mal-intentionnées.

Et pour finir, il n'est pas possible de modifier (et heureusement !!) les messages d'erreurs retournées par Oracle. La seule chose possible, via une application (PL/SQL, Clients/serveur, ...) est de gérer les exceptions.
Mais sous SQL*Plus, non.
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h03.


 
 
 
 
Partenaires

Hébergement Web