* Bonjour, *
lv_predicate := 'type_dos = ''NORMAL'' '; que reçoit le variable lv_predicate??
et pourquoi on utilise type_dos ?
* Merci *
* Bonjour, *
lv_predicate := 'type_dos = ''NORMAL'' '; que reçoit le variable lv_predicate??
et pourquoi on utilise type_dos ?
* Merci *
Ben type_dos=''NORMAL''
jko
le type lv_predicate est varchar2 comment il va recoit 2 valeurs
====> que valeur peut avoir lv_predicate dans les trois conditions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 SQL> create or replace package body pkg_dossier_sec 2 as 3 function dossier_predicate(schema_name in varchar2,object_name in varchar2) 4 return varchar2 5 is 6 lv_predicate varchar2(1000):=''; 7 begin 8 if sys_context('scott_dossier','app_role') = 'manager' then 9 lv_predicate:='type_dos=''SECRET'''; -- a le droit de voir uniquement -- les dossiers de type SECRET 10 elsif sys_context('scott_dossier','app_role') = 'employe' then 11 lv_predicate:='type_dos=''NORMAL'''; -- a le droit de voir uniquement --les dossiers de type NORMAL 12 else 13 lv_predicate:='1=2'; -- block access 14 end if; 15 return lv_predicate; 16 end; 17 end; Package body created.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SQL> SELECT * FROM DOSSIER;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 NO_DOS DT_DOS TYPE_DOS ---------- --------- ------------------------------ 1 22-MAY-07 SECRET 2 22-MAY-07 SECRET 3 22-MAY-07 SECRET
Manque un bout de ton jeu de test non?
jko
oui, j'ai un grand programme qui parle sur la sécurité granulaire en oracle, et c'une partie du programme et je veut savoir la valeur iv_predicate dans les 3 conditions et si vous voulez aperçue tous le programme voici le lien
http://schelabi.developpez.com/secur...laire/#LII-B-1
Oui, ok c'est du fine grained access control.
Et le lien donne toutes les instructions...
Quelle est la question??
jko
que reçoit iv_predicate dans les 3 conditions du bloc IF :
lv_predicate:='type_dos=''SECRET''';
lv_predicate:='type_dos=''NORMAL''';
lv_predicate:='1=2';
et est ce que (type_dos) implique le nom de colonne dans la base de données
ou quoi??
La fonction retourne une clause where qui s'applique à la colonne
Type_dos,
v_predicate:='type_dos=''SECRET''';
lv_predicate:='type_dos=''NORMAL''';
lv_predicate:='1=2';
Jko
merci bien, mais que veut dire
lv_predicate:='1=2';
c'est une fonction de blocage ??
C'est en quelque sorte une "filtre" de blocage.
jko
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager