Up ! Security Manager

Ce programme présente le contrôle de l'habilitation sur les propriétés et les méthodes des objets.

Le fichier source est ${UPS_HOME}/upsvtm/demo/${UPS_LANGUAGE}/habilitation.upl.

Mode compilé

Commande de compilation

upscmp Source=habilitation.upl

Commande d'exécution

habilitation

Mode interprété

upssng Source=habilitation.upl

Fichier source

Source Composant "Exemple d'emploi des habilitations" Version 4.0.0;

Public :
/*****/
Type T1 Defaut Habilitation
/*************************/
Public :
/******/ Public :
/******/
Fin Type

Type T2 Defaut
/************/
Public :
/******/ Public :
/******/
Fin Type

Variable
/******/
Public :
/******/ Procedure T1.Ecrire()
/********************/
Debut
Ecran.Ecrire("T1.Ecrire");
Fin Procedure

Procedure Habilitation T2.Ecrire()
/********************************/
Debut
Ecran.Ecrire("T2.Ecrire");
Fin Procedure

Procedure Habilitation P()
/************************/
Debut
Ecran.Ecrire("P();");
Fin Procedure

Procedure TesterHabilitations2(VV1 : Nul Ou T1, VV2 : Nul Ou T2)
/**********************************************************/
Debut
AttraperException TraiterException Fin AttraperException
AttraperException TraiterException Fin AttraperException
AttraperException TraiterException Fin AttraperException
AttraperException TraiterException Fin AttraperException
AttraperException TraiterException Fin AttraperException AttraperException TraiterException Fin AttraperException AttraperException TraiterException Fin AttraperException
AttraperException TraiterException Fin AttraperException

AttraperException TraiterException Fin AttraperException
AttraperException TraiterException Fin AttraperException

AttraperException TraiterException Fin AttraperException
AttraperException TraiterException Fin AttraperException

AttraperException TraiterException Fin AttraperException
AttraperException TraiterException Fin AttraperException

AttraperException TraiterException Fin AttraperException
AttraperException
TraiterException Fin AttraperException

AttraperException TraiterException Fin AttraperException
AttraperException< TraiterException Fin AttraperException
Fin Procedure

Procedure TesterHabilitations()
/*****************************/
Debut
AttraperException TraiterException Fin AttraperException
AttraperException TraiterException Fin AttraperException
AttraperException TraiterException Fin AttraperException

TesterHabilitations2(V1, V2);
AttraperException TraiterException Fin AttraperException
AttraperException TraiterException Fin AttraperException
Fin Procedure

Principal
/*******/
Variable
/******/
Debut
TesterHabilitations();

Connecter("Administrateur", ");
UtilisateurAdministrateur.ModifierMotDePasse(", "Administrateur");
UtilisateurSpoule.ModifierMotDePasse(", "Spoule");

TesterHabilitations();

R1=Role("Nom du role 1", "Description du role 1");
R1.AjouterHabilitationAppel("habilitation", "P", Faux);
R1.AjouterHabilitationType("habilitation", "T1", Faux, Faux, Faux, Faux, Faux);
R1.AjouterHabilitationMethodeType("habilitation", "T1", "Ecrire", Faux);
R1.AjouterHabilitationProprieteType("habilitation", "T1", "CA", Faux, Faux, Faux, Faux);
R1.AjouterHabilitationProprieteType("habilitation", "T1", "CB", Faux, Faux, Faux, Faux);
R1.AjouterHabilitationProprieteType("habilitation", "T1", "CC", Faux, Faux, Faux, Faux);
R1.AjouterHabilitationProprieteType("habilitation", "T1", "CD", Faux, Faux, Faux, Faux);

R2=Role("Nom du role 2", "Description du role 2");
R2.AjouterHabilitationType("habilitation", "T2", Faux, Faux, Faux, Faux, Faux);
R2.AjouterHabilitationMethodeType("habilitation", "T2", "Ecrire", Faux);
R2.AjouterHabilitationProprieteType("habilitation", "T2", "CA", Faux, Faux, Faux, Faux);
R2.AjouterHabilitationProprieteType("habilitation", "T2", "CB", Faux, Faux, Faux, Faux);
R2.AjouterHabilitationProprieteType("habilitation", "T2", "CC", Faux, Faux, Faux, Faux);
R2.AjouterHabilitationProprieteType("habilitation", "T2", "CD", Faux, Faux, Faux, Faux);
R2.HeriterDuRole(R1);

U=Utilisateur("scott", "scott", "tiger");
R2.AjouterUtilisateur(U);

Connecter("scott", "tiger");
TesterHabilitations();
Connecter("Administrateur", "Administrateur");
R1.ModifierHabilitationAppel("habilitation", "P", Vrai);
R1.ModifierHabilitationType("habilitation", "T1", Vrai, Vrai, Vrai, Vrai, Vrai);
R1.ModifierHabilitationMethodeType("habilitation", "T1", "Ecrire", Vrai);
R1.ModifierHabilitationProprieteType("habilitation", "T1", "CA", Vrai, Vrai, Vrai, Vrai);
R1.ModifierHabilitationProprieteType("habilitation", "T1", "CB", Vrai, Vrai, Vrai, Vrai);
R1.ModifierHabilitationProprieteType("habilitation", "T1", "CC", Vrai, Vrai, Vrai, Vrai);
R1.ModifierHabilitationProprieteType("habilitation", "T1", "CD", Vrai, Vrai, Vrai, Vrai);
R2.ModifierHabilitationType("habilitation", "T2", Vrai, Vrai, Vrai, Vrai, Vrai);
R2.ModifierHabilitationProprieteType("habilitation", "T2", "CA", Vrai, Vrai, Vrai, Vrai);
R2.ModifierHabilitationProprieteType("habilitation", "T2", "CB", Vrai, Vrai, Vrai, Vrai);
R2.ModifierHabilitationProprieteType("habilitation", "T2", "CC", Vrai, Vrai, Vrai, Vrai);
R2.ModifierHabilitationProprieteType("habilitation", "T2", "CD", Vrai, Vrai, Vrai, Vrai);

W1=T1();
W2=T2();

R2.ModifierHabilitationType("habilitation", "T2", Faux, Faux, Faux, Faux, Faux);
R2.ModifierHabilitationProprieteType("habilitation", "T2", "CA", Faux, Faux, Faux, Faux);
R2.ModifierHabilitationProprieteType("habilitation", "T2", "CB", Faux, Faux, Faux, Faux);
R2.ModifierHabilitationProprieteType("habilitation", "T2", "CC", Faux, Faux, Faux, Faux);
R2.ModifierHabilitationProprieteType("habilitation", "T2", "CD" ,Faux,Faux,Faux,Faux);
R2.AjouterHabilitationObjet(W2, Vrai, Vrai, Vrai, Vrai, Vrai);
R2.AjouterHabilitationMethodeObjet(W2, "Ecrire", Vrai);
R2.AjouterHabilitationProprieteObjet(W2, "CA", Vrai, Vrai, Vrai, Vrai);
R2.AjouterHabilitationProprieteObjet(W2, "CB", Vrai, Vrai, Vrai, Vrai);
R2.AjouterHabilitationProprieteObjet(W2, "CC", Vrai, Vrai, Vrai, Vrai);
R2.AjouterHabilitationProprieteObjet(W2, "CD", Vrai, Vrai, Vrai, Vrai);

Connecter("scott", "tiger");
TesterHabilitations2(W1, W2);
Connecter("Administrateur", "Administrateur");
R1.Supprimer();
R2.Supprimer();
U.Supprimer();
Fin Principal

Résultat de l'exécution

P(); Vrai Vrai 2 2 3.1 3.1 a a T1.Ecrire T2.Ecrire P(); Vrai Vrai 2 2 3.1 3.1 a a T1.Ecrire T2.Ecrire Exception:Erreur UpsSec-10 : L'utilisateur 'scott' ne peut faire l'action suivante : Il lui est interdit d'exécuter l'appel 'habilitation.P'. Exception:Erreur UpsSec-10 : L'utilisateur 'scott' ne peut faire l'action suivante : Il lui est interdit de créer un objet du type 'habilitation.T1'. Exception:Erreur UpsSec-10 : L'utilisateur 'scott' ne peut faire l'action suivante : Il lui est interdit de modifier un objet du type 'habilitation.T2'. Faux Exception:Erreur UpsSec-10 : L'utilisateur 'scott' ne peut faire l'action suivante : Il lui est interdit de lire un objet du type 'habilitation.T2'. Exception:Erreur UpsSec-10 : L'utilisateur 'scott' ne peut faire l'action suivante : Il lui est interdit de modifier un objet du type 'habilitation.T2'. 0 Exception:Erreur UpsSec-10 : L'utilisateur 'scott' ne peut faire l'action suivante : Il lui est interdit de lire un objet du type 'habilitation.T2'. Exception:Erreur UpsSec-10 : L'utilisateur 'scott' ne peut faire l'action suivante : Il lui est interdit de modifier un objet du type 'habilitation.T2'. 0.0 Exception:Erreur UpsSec-10 : L'utilisateur 'scott' ne peut faire l'action suivante : Il lui est interdit de lire un objet du type 'habilitation.T2'. Exception:Erreur UpsSec-10 : L'utilisateur 'scott' ne peut faire l'action suivante : Il lui est interdit de modifier un objet du type 'habilitation.T2'. Exception:Erreur UpsSec-10 : L'utilisateur 'scott' ne peut faire l'action suivante : Il lui est interdit de lire un objet du type 'habilitation.T2'. Exception:Erreur UpsKrn-209 : Un objet 'Non Nul' est attendu. Exception:Erreur UpsSec-10 : L'utilisateur 'scott' ne peut faire l'action suivante : Il lui est interdit d'exécuter un objet du type 'habilitation.T2'. Vrai Vrai 2 2 3.1 3.1 a a T1.Ecrire T2.Ecrire