Skip to main content
Version: Next

Requête d'exemple pour initialisation des droits d'accès à la base orga pour un nouveau profil

A partir de la version .Net 2016 SP1, les droits d'accès au paramétrage de la base organisation côté web (création de rôles, gestion hiérarchique,...) sont paramétrés par profil.

A la création d'un nouveau profil, aucun droit n'est attribué. Il peut être long et fastidieux de paramétrer chaque droit manuellement. Voici donc ci-dessous deux requêtes d'exemple d'initialisation (SQL et Oracle). Les initialisations suivantes se font pour un profil "Administrateur"

Dans un premier temps, il faut supprimer le paramétrage existant (aucun droit nulle part)

Requête de suppression SQL:

Delete from DirectorySecurities
where profile='Administrateur'

Requête de suppression Oracle:

Delete from DirectorySecurities
where profile='Administeur'

Une fois les droits existants supprimés, il faut initialiser les nouveaux droits. Voici un exemple:

Requête d'initialisation SQL :

declare @profil varchar(255) = 'Administrateur'
if (SELECT count(1) FROM DirectorySecurities where [profile]=@profil) = 0
insert into DirectorySecurities values
(@profil, 'resource', 'distribution_group', 7, 5, 'description'),
(@profil, 'resource', 'profile', 7, 0, 'description'),
(@profil, 'resource', 'role', 7, 0, 'description'),
(@profil, 'resource', 'security_elements', 3, 0, 'description'),
(@profil, 'resource', 'service', 7, 1, 'description;societe'),
(@profil, 'resource', 'societe', 7, 4, 'description'),
(@profil, 'resource', 'user', 7, 2, 'description;alias'),
(@profil, 'relation', 'Distribution', 3, 4, NULL),
(@profil, 'relation', 'DistributionSociete', 3, 8, NULL),
(@profil, 'relation', 'Hierarchie', 3, 1, NULL),
(@profil, 'relation', 'Manager', 3, 3, NULL),
(@profil, 'relation', 'Membre', 3, 5, NULL),
(@profil, 'relation', 'Profiles', 3, 2, NULL),
(@profil, 'relation', 'Roles', 1, 0, NULL),
(@profil, 'relation', 'ServiceRole', 3, 10, NULL),
(@profil, 'relation', 'ServiceSociete', 3, 9, NULL),
(@profil, 'relation', 'UserAdminOrgaSociete', 3, 7, NULL)

Requête Oracle

declare 
profil CONSTANT varchar2(255) := 'Administrateur';
c INT := 1;
BEGIN
SELECT count(1) into c FROM DirectorySecurities where PROFILE=profil;
if c = 0 then
insert all
into DirectorySecurities values (profil, 'resource', 'distribution_group', 7, 5, 'description')
into DirectorySecurities values (profil, 'resource', 'profile', 7, 0, 'description')
into DirectorySecurities values (profil, 'resource', 'role', 7, 0, 'description')
into DirectorySecurities values (profil, 'resource', 'security_elements', 3, 0, 'description')
into DirectorySecurities values (profil, 'resource', 'service', 7, 1, 'description;societe')
into DirectorySecurities values (profil, 'resource', 'societe', 7, 4, 'description')
into DirectorySecurities values (profil, 'resource', 'user', 7, 2, 'description;alias')
into DirectorySecurities values (profil, 'relation', 'Distribution', 3, 4, NULL)
into DirectorySecurities values (profil, 'relation', 'DistributionSociete', 3, 8, NULL)
into DirectorySecurities values (profil, 'relation', 'Hierarchie', 3, 1, NULL)
into DirectorySecurities values (profil, 'relation', 'Manager', 3, 3, NULL)
into DirectorySecurities values (profil, 'relation', 'Membre', 3, 5, NULL)
into DirectorySecurities values (profil, 'relation', 'Profiles', 3, 2, NULL)
into DirectorySecurities values (profil, 'relation', 'Roles', 1, 0, NULL)
into DirectorySecurities values (profil, 'relation', 'ServiceRole', 3, 10, NULL)
into DirectorySecurities values (profil, 'relation', 'ServiceSociete', 3, 9, NULL)
into DirectorySecurities values (profil, 'relation', 'UserAdminOrgaSociete', 3, 7, NULL)
SELECT * FROM dual;
end if;
END