Filtrage des schémas filtering-schemas
Filtres système system-filters
Vous pouvez filtrer l’accès aux schémas pour des utilisateurs spécifiques, selon leurs autorisations. Les filtres système vous permettent de gérer les autorisations de lecture et d’écriture des entités figurant dans les schémas, au moyen des paramètres readAccess et writeAccess.
-
readAccess : permet d'accéder aux données d'un schéma en lecture seule.
Attention : toutes les tables liées doivent être définies avec la même restriction. Cette configuration peut avoir une incidence sur les performances.
-
writeAccess : permet d'accéder aux données d'un schéma en écriture.
Ces filtres sont renseignés au niveau de l’élément principal des schémas et peuvent être formés comme dans les exemples suivants afin de restreindre l’accès :
-
Restreindre les autorisations d’ÉCRITURE
Ici, le filtre sert à interdire les autorisations d’ÉCRITURE sur le schéma aux opérateurs ne disposant pas de la autorisation ADMINISTRATION. Ainsi, seuls les administrateurs pourront accéder en écriture aux entités décrites par ce schéma.
code language-none <sysFilter name="writeAccess"> <condition enabledIf="hasNamedRight('admin')=false" expr="FALSE"/> </sysFilter>
-
Restreindre les autorisations de LECTURE et d’ÉCRITURE :
Ici, le filtre sert à interdire à la fois les autorisations de LECTURE et d’ÉCRITURE du schéma à tous les opérateurs. Seul le compte interne, représenté par l’expression "$(loginId)!=0", possède ces autorisations.
code language-none <sysFilter name="readAccess"> <condition enabledIf="$(loginId)!=0" expr="FALSE"/> </sysFilter> <sysFilter name="writeAccess"> <condition enabledIf="$(loginId)!=0" expr="FALSE"/> </sysFilter>
Les valeurs possibles de l’attribut expr utilisé pour définir la condition sont TRUE ou FALSE.
Protection des schémas intégrés protecting-built-in-schemas
Par défaut, les schémas intégrés ne sont accessibles avec les autorisations d’ÉCRITURE que par les opérateurs possédant le droit d’ADMINISTRATION :
- ncm:publishing
- nl:monitoring
- nms:calendar
- xtk:builder
- xtk:connections
- xtk:dbInit
- xtk:entityBackupNew
- xtk:entityBackupOriginal
- xtk:entityOriginal
- xtk:form
- xtk:funcList
- xtk:fusion
- xtk:image
- xtk:javascript
- xtk:jssp
- xtk:jst
- xtk:navtree
- xtk:operatorGroup
- xtk:package
- xtk:queryDef
- xtk:resourceMenu
- xtk:rights
- xtk:schema
- xtk:scriptContext
- xtk:specFile
- xtk:sql
- xtk:sqlSchema
- xtk:srcSchema
- xtk:strings
- xtk:xslt
Modification des filtres système des schémas intégrés modifying-system-filters-of-built-in-schemas
Il est tout de même possible de modifier les filtres système des schémas d’usine, protégés par défaut, notamment pour des raisons de compatibilité avec les versions antérieures.
- Créez une extension du schéma concerné ou ouvrez une extension existante.
- Dans l’élément principal, ajoutez un élément enfant
<sysfilter name="<filter name>" _operation="delete"/>
afin de supprimer l’application du filtre du même nom dans le schéma d’origine. - Ajoutez un nouveau filtre si vous le souhaitez, comme décrit dans la section Filtres système.