voici toute la fonction avec visionnage de la table
Code:
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. |
====> que valeur peut avoir lv_predicate dans les trois conditions
Code:
SQL> SELECT * FROM DOSSIER;
Code:
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 |
merci pour votre patience
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