/***************************************************************/
Type ProfilSecurite Defaut Final
/* Objet : Type des objets correspondant aux profils de sécurité. */
/***************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet. */
/*-------------------------------------------------------------*/
Prive :
EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Proprietes propres. */
/*-------------------------------------------------------------*/
Prive :
NomProfil : Caractere Virtuel Lecture Public Trace;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'Objet. */
/*-------------------------------------------------------------*/
Public :
Fonction Optimiser(Invariant) Identique(O : Nul Ou Objet) Retourner Nul Ou Booleen;
Procedure Convertir(O : Nul Ou Objet);
Fonction Optimiser(Invariant) CreeParLeServeur() Retourner Entier;
Fonction Optimiser(Invariant) CreeParLeProcessus() Retourner Entier;
Fonction Optimiser(Invariant) CreeDansLEntrepot() Retourner Entrepot;
Fonction Cloner(EntrepotCible : Nul Ou Entrepot=Nul, Profondeur : ModeClonage = ClonageObjetSeul) Retourner Nul Ou Objet;
Fonction LirePropriete(NomPropriete : Caractere) Retourner Nul Ou Objet;
Procedure EcrirePropriete(NomPropriete : Caractere, Valeur : Nul Ou Objet);
Fonction IncrementerDecrementerPropriete(NomPropriete : Nul Ou Caractere, Incrementer : Booleen, Prefixe : Booleen) Retourner Nul Ou Objet;
Procedure SupprimerPropriete(NomPropriete : Caractere);
Fonction Optimiser(Invariant) EnumererProprietes(NumeroPropriete : Entier, TypePropriete : Nul Ou Type=? Sortie, PeutEtreNul : Booleen=? Sortie, Aide : Nul Ou Caractere=? Sortie, NomEnumere : Nul Ou Caractere=? Sortie) Retourner Nul Ou Caractere;
Fonction Optimiser(Invariant) Adresse() Retourner Nul Ou Caractere;
Prive :
Fonction Exporter(E : Nul Ou IEchangeElementaire) Retourner Boolean;
Fonction Importer(E : Nul Ou IEchangeElementaire, EntrepotCible : Nul Ou Entrepot=Nul, EstFiltre : Booleen=Faux, V : Entier=0, R : Entier=0, C : Entier=0) Retourner Nul Ou Objet;
/*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Public :
Constructeur(NomDeLProfilSecurite : Caractere);
Operateur Optimiser(Invariant, NulAbsorbant) ==(P : Nul Ou ProfilSecurite) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) !=(P : Nul Ou ProfilSecurite) Retourner Nul Ou Booleen;
Procedure Habilitation Enregistrer(Format : FormatsRessourceSupportes=FormatRessourceAutomatique);
Procedure Habilitation Enregistrer(Flux : Nul Ou IFlux, Format : FormatsRessourceSupportes=FormatRessourceAutomatique);
Procedure Habilitation Enregistrer(NomFichier : Nul Ou Caractere, Format : FormatsRessourceSupportes=FormatRessourceAutomatique);
Fonction Habilitation Optimiser(NulAbsorbant) Exporter(NomDuFichier : Nul Ou Caractere, NomDuRole : Nul Ou Caractere, Format : FormatsRessourceSupportes=FormatRessourceAutomatique,
EnvoyerErreur : Nul Ou Procedure (MessageEnvoye : Caractere, NumeroColonne : Entier, NumeroLigne : Entier,
NomFichierSource : Nul Ou Caractere)=Nul) Retourner Nul Ou Booleen;
Fonction Habilitation Optimiser(NulAbsorbant) Importer(NomDuFichier : Nul Ou Caractere, Format : FormatsRessourceSupportes=FormatRessourceAutomatique,
EnvoyerErreur : Nul Ou Procedure (MessageEnvoye : Caractere, NumeroColonne : Entier, NumeroLigne : Entier,
NomFichierSource : Nul Ou Caractere)=Nul) Retourner Nul Ou Booleen;
Procedure Habilitation Supprimer();
Procedure MarquerModifie();
Fonction Habilitation Optimiser(NulAbsorbant) AjouterRole(NomRole : Caractere, DescriptionRole : Caractere) Retourner Nul Ou Role;
Fonction Habilitation ListerRoles(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou Role;
Fonction Habilitation Optimiser(NulAbsorbant) AjouterUtilisateur(NomDeLUtilisateur : Caractere, DescriptionDeLUtilisateur : Nul Ou Caractere, MotDePasse : Nul Ou Caractere=Nul) Retourner Nul Ou Utilisateur;
Fonction Habilitation ListerUtilisateurs(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou Utilisateur;
Fonction Habilitation ListerLicences(S : SorteDeploiementLicence, CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou Licences;
Fonction Habilitation Optimiser(NulAbsorbant) AjouterLicenceUnitaire(NomModule : Caractere, NumeroSerie : Caractere, Editeur : Nul Ou Caractere=Nul, Integrateur : Nul Ou Caractere=Nul, Distributeur : Nul Ou Caractere=Nul) Retourner Nul Ou LicenceUnitaire;
Procedure Habilitation PrendreLicence(M : Nul Ou Module, S : SorteLicence);
Prive :
Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Type
Le type ProfilSecurite modélise un profil de sécurité ou de licences en technologie d'Up ! Virtual Technical Machine.
Le profil de sécurité conserve les habilitations sur les modules, les types et les objets pour les appels, les méthodes, les variables et les propriétés. Le profil de licences conserve les droits sur les modules.
Les profils de sécurité et de licences sont des objets persistants même si le programme n'est pas persistant.
Le type ProfilSecurite possède un constructeur explicite. Le paramètre NomDuProfil est le nom donné à l'annuaire électronique. Il sert également à rechercher son fichier dans le chemin donné par le paramètre UpsBlb.CheminRessources.
Variable
/******/
P1 : Nul Ou ProfilSecurite;
P2 : Nul Ou ProfilSecurite;
Principal
/*******/
Debut
...
P1=ProfilSecurites("MesPatients");
P2=ProfilSecurites("MesClients");
...
Si P1==P2 Alors
/* Egalité entre deux profils de sécurité. */
...
Fin Si
Si P1!=P2 Alors
/* Inégalité entre deux profils de sécurité. */
...
Fin Si
Fin Principal
- | - | - | - | - | - | - | - | - |