La spécification du format binaire d'un profil de sécurité ou de licences n'est pas disponible puisqu'elle est illisible par un module autre qu'Up ! Security Manager.
Source Securite LibelleDuFichierDeSecurite Version NumeroDeVersion . NumeroDeRevision . NumeroDeCorrection ;Roles :
Role Defaut ;Role ListeDeRolesVersion NumeroDeVersion . NumeroDeRevision FaireFin VersionRole :
( Description , NomDuRolePere ) ;Utilisateur Defaut ;Utilisateur ListeDUtilisateursVersion NumeroDeVersion . NumeroDeRevision FaireFin Version( Description , MotDePasse , DateEtHeure , DateEtHeure , NomDuRolePere ) ;Version NumeroDeVersion . NumeroDeRevision FaireFin VersionSecurite NomDuProfilSecuriteDebutFin Securite( NomDuRole , Description , NomDuRolePere ) ;( NomDuRole , Description , NomDuRolePere ) ;( NomDuRole ) ;( NomDeLUtilisateur , Description , MotDePasse , DateEtHeure , DateEtHeure , NomDuRolePere ) ;( NomDeLUtilisateur , Description , MotDePasse , MotDePasse , DateEtHeure , DateEtHeure , NomDuRolePere ) ;( NomDeLUtilisateur ) ;( NomDuModule , NomDeLAppel , Etat ) ;( NomDeLUtilisateur , NomDeLAppel , Etat ) ;( NomDeLUtilisateur , NomDeLAppel ) ;( NomDeLUtilisateur , NomDuType , NomDeLaMethode , Etat ) ;( NomDeLUtilisateur , NomDuType , NomDeLaMethode , Etat , Etat ) ;( NomDeLUtilisateur , NomDuType , NomDeLaMethode , Etat ) ;( NomDeLUtilisateur , NomDuType , NomDeLaPropriete , Etat , Etat , Etat , Etat ) ;( NomDeLUtilisateur , NomDuType , NomDeLaPropriete , Etat , Etat , Etat , Etat , Etat ) ;( NomDeLUtilisateur , NomDuType , NomDeLaPropriete , Etat ) ;( NomDeLUtilisateur , NomDuType , Etat , Etat , Etat , Etat , Etat ) ;( NomDeLUtilisateur , NomDuType , Etat , Etat , Etat , Etat , Etat , Etat ) ;( NomDeLUtilisateur , NomDuType , Etat ) ;( AdresseDeLObjet , NomDeLaMethode , Etat ) ;( AdresseDeLObjet , NomDeLaMethode , Etat ) ;( AdresseDeLObjet , NomDeLaMethode ) ;( AdresseDeLObjet , NomDeLaPropriete , Etat , Etat , Etat , Etat ) ;( AdresseDeLObjet , NomDeLaPropriete , Etat , Etat , Etat , Etat ) ;( AdresseDeLObjet , NomDeLaPropriete ) ;( AdresseDeLObjet , Etat , Etat , Etat , Etat , Etat ) ;( AdresseDeLObjet , Etat , Etat , Etat , Etat , Etat ) ;( AdresseDeLObjet ) ;( NomDuModule , NomDeLaVariable , Etat , Etat ) ;( NomDuModule , NomDeLaVariable , Etat , Etat ) ;( NomDuModule , NomDeLaVariable ) ;Quota :
( NomDuModule , NomDeLAppel , QuotaMaximal , QuotaProportionnel ) ;( NomDuModule , NomDeLAppel , QuotaMaximal , QuotaProportionnel ) ;( NomDuModule , NomDeLAppel ) ;( NomDuModule , NomDuType , NomDeLaMethode , QuotaMaximal , QuotaProportionnel ) ;( NomDuModule , NomDuType , NomDeLaMethode , QuotaMaximal , QuotaProportionnel , Etat ) ;( NomDuModule , NomDuType , NomDeLaMethode , Etat ) ;( NomDuModule , NomDuType , QuotaMaximal , QuotaProportionnel ) ;( NomDuModule , NomDuType , QuotaMaximal , QuotaProportionnel , Etat ) ;( NomDuModule , NomDuType , Etat ) ;( AdresseDeLObjet , NomDeLaMethode , QuotaMaximal , QuotaProportionnel ) ;( AdresseDeLObjet , NomDeLaMethode , QuotaMaximal , QuotaProportionnel ) ;( AdresseDeLObjet , NomDeLaMethode ) ;( AdresseDeLObjet , QuotaMaximal , QuotaProportionnel ) ;( AdresseDeLObjet , QuotaMaximal , QuotaProportionnel ) ;( AdresseDeLObjet ) ;( NomDeLEntrepot , Taille ) ;( NomDuModule , NumeroDeSerie , DateEtHeure , NbJetons
, Editeur , Integrateur , Distributeur ) ;( NomDuModule, NumeroDeSerie ) ;( NomDuNoeud , NomDuServeur , NomDuModule , NumeroDeSerie ,
DateEtHeure , NbJetons ,
Editeur , Integrateur , Distributeur ) ;( NomDuNoeud , NomDuServeur , NomDuModule , NumeroDeSerie ) ;( NomDeLUtilisateur , NomDuModule , NumeroDeSerie ,
DateEtHeure , NbJetons , Editeur , Integrateur , Distributeur ) ;( NomDeLUtilisateur , NomDuModule , NumeroDeSerie ) ;, Mois , Annee , Heures , Minutes , Secondes )Editeur :
Etat :
NbJetons :
NulTaille :
Source Securite "Exemple de l'emploi des profils de sécurité" Version 4.0.0;
Securite MaSecurite
/*****************/
Debut
AjouterRole("MonRole1", "Description du rôle 1", Nul);
AjouterRole("MonRole2", "Description du rôle 2", "Nom du rôle 1");
AjouterUtilisateur("scott", "Description de scott", Nul, Nul, "MonRole1");
Role "MonRole1" Faire
AjouterHabilitationAppel("habilitation", "P", Vrai);
Fin Role
AjouterHabilitationType("habilitation", "T1", Vrai, Vrai, Vrai, Vrai, Vrai);
AjouterHabilitationMethodeType("habilitation", "T1", "Ecrire", Vrai);
AjouterHabilitationProprieteType("habilitation", "T1", "CA", Vrai, Vrai, Vrai, Vrai);
AjouterHabilitationProprieteType("habilitation", "T1", "CB", Vrai, Vrai, Vrai, Vrai);
AjouterHabilitationProprieteType("habilitation", "T1", "CC", Vrai, Vrai, Vrai, Vrai);
AjouterHabilitationProprieteType("habilitation", "T1", "CD", Vrai, Vrai, Vrai, Vrai);
AjouterHabilitationVariable("habilitation", "V1", Vrai, Vrai);
AjouterQuotaAppel("habilitation", "P", 1, 1.0);
FixerQuotaEntrepot("Systeme", 1000);
AjouterQuotaType("habilitation", "T1", 1, 1.0);
AjouterQuotaMethodeType("habilitation", "T1", "Ecrire", 1, 1.0);
Role "MonRole2" Faire
AjouterHabilitationType("habilitation", "T2", Faux, Faux, Faux, Faux, Faux);
Fin Role
AjouterHabilitationMethodeType("habilitation", "T2", "Ecrire", Faux);
AjouterHabilitationProprieteType("habilitation", "T2", "CA", Faux, Faux, Faux, Faux);
AjouterHabilitationProprieteType("habilitation", "T2", "CB", Faux, Faux, Faux, Faux);
AjouterHabilitationProprieteType("habilitation", "T2", "CC", Faux, Faux, Faux, Faux);
AjouterHabilitationProprieteType("habilitation", "T2", "CD", Faux, Faux, Faux, Faux);
AjouterHabilitationVariable("habilitation", "V2", Faux, Faux);
AjouterQuotaType("habilitation", "T2", 2, 2.0);
AjouterQuotaMethodeType("habilitation", "T2", "Ecrire", 2, 2.0);
Fin Securite
Source Composant "Exemple de l'emploi des profils de sécurité" Version 4.0.0;
ImporterModule
/************/
UpsSec(<UpsSec.upi>, ImporterDefinitions);
DefinitionsSecurite
/*****************/
Source Securite "Exemple de l'emploi des profils de sécurité" Version 4.0.0;
Fin DefinitionsSecurite
Variable
/******/
R : Nul Ou IResultatRequeteDe Nul Ou Role;
R2 : Nul Ou Role;
Principal
/*******/
Debut
...
Securite MaSecurite
/*****************/
AjouterRole("MonRole1", "Description du rôle 1", Nul);
AjouterRole("MonRole2", "Description du rôle 2", "Nom du rôle 1");
AjouterUtilisateur("scott", "Description de scott", Nul, Nul, "MonRole1");
Role "MonRole1" Faire
AjouterHabilitationAppel("habilitation", "P", Vrai);
AjouterHabilitationType("habilitation", "T1", Vrai, Vrai, Vrai, Vrai, Vrai);
AjouterHabilitationMethodeType("habilitation", "T1", "Ecrire", Vrai);
AjouterHabilitationProprieteType("habilitation", "T1", "CA", Vrai, Vrai, Vrai, Vrai);
AjouterHabilitationProprieteType("habilitation", "T1", "CB", Vrai, Vrai, Vrai, Vrai);
AjouterHabilitationProprieteType("habilitation", "T1", "CC", Vrai, Vrai, Vrai, Vrai);
AjouterHabilitationProprieteType("habilitation", "T1", "CD", Vrai, Vrai, Vrai, Vrai);
AjouterHabilitationVariable("habilitation", "V1", Vrai, Vrai);
AjouterQuotaAppel("habilitation", "P", 1, 1.0);
FixerQuotaEntrepot("Systeme", 1000);
AjouterQuotaType("habilitation", "T1", 1, 1.0);
AjouterQuotaMethodeType("habilitation", "T1", "Ecrire", 1, 1.0);
Fin Role
Role "MonRole2" Faire
AjouterHabilitationType("habilitation", "T2", Faux, Faux, Faux, Faux, Faux);
AjouterHabilitationMethodeType("habilitation", "T2", "Ecrire", Faux);
AjouterHabilitationProprieteType("habilitation", "T2", "CA", Faux, Faux, Faux, Faux);
AjouterHabilitationProprieteType("habilitation", "T2", "CB", Faux, Faux, Faux, Faux);
AjouterHabilitationProprieteType("habilitation", "T2", "CC", Faux, Faux, Faux, Faux);
AjouterHabilitationProprieteType("habilitation", "T2", "CD", Faux, Faux, Faux, Faux);
AjouterHabilitationVariable("habilitation", "V2", Faux, Faux);
AjouterQuotaType("habilitation", "T2", 2, 2.0);
AjouterQuotaMethodeType("habilitation", "T2", "Ecrire", 2, 2.0);
Fin Role
Fin Securite
...
R=MaSecurite.ListerRoles();
Pour R2=R.ParcoursAuDebut() JusquA R.DernierElement() Faire
Ecran.Ecrire("Nom rôle="+R2.Nom);
Fin Pour
...
MaSecurite.Exporter("mon-profil-de-securite2");
...
Fin Principal
Source Composant "Exemple de l'emploi des profils de sécurité" Version 4.0.0;
ImporterModule
/************/
UpsSec(<UpsSec.upi>, ImporterDefinitions);
DefinitionsSecurite
/*****************/
Source Securite "Exemple de l'emploi des profils de sécurité" Version 4.0.0;
ImporterModule
/************/
MonPdS(<mon-profil-de-securite.upi>, ImporterDefinitions);
Fin DefinitionsSecurite
Variable
/******/
R : Nul Ou IResultatRequeteDe Nul Ou Role;
R2 : Nul Ou Role;
Principal
/*******/
Debut
...
R=MaSecurite.ListerRoles();
Pour R2=R.ParcoursAuDebut() JusquA R.DernierElement() Faire
Ecran.Ecrire("Nom rôle="+R2.Nom);
Fin Pour
...
MaSecurite.Exporter("mon-profil-de-securite2");
...
Fin Principal
Source Composant "Exemple de l'emploi des profils de sécurité" Version 4.0.0;
ImporterModule
/************/
UpsSec(<UpsSec.upi>, ImporterDefinitions);
MonPdS(<mon-profil-de-securite.upi>, ImporterDefinitions);
Variable
/******/
R : Nul Ou IResultatRequeteDe Nul Ou Role;
R2 : Nul Ou Role;
Principal
/*******/
Debut
...
R=MaSecurite.ListerRoles();
Pour R2=R.ParcoursAuDebut() JusquA R.DernierElement() Faire
Ecran.Ecrire("Nom rôle="+R2.Nom);
Fin Pour
...
MaSecurite.Exporter("mon-profil-de-securite2");
...
Fin Principal