Contrôle d'accès

Il y a plusieurs façons d’accorder ou de restreindre les accès dans CA:

1.L’élément d’interface (le bundle) Accès

Lorsque le bundle Accès est inclus dans un formulaire d’édition, il peut être utilisé pour spécifier quels enregistrements sont visibles ou d'accès restreint sur Pawtucket. Ce contrôle ne nécessite pas de configuration spécifique, c’est une fonction présente par défaut ; il est toutefois possible de la personnaliser. Dans le fichier /app/conf/app.conf de Pawtucket, vous trouverez le code suivant:

# -------------------
# Item viewablity (access enforcement)
# -------------------

# if set, no access checks are performed
dont_enforce_access_settings = 0

# list of values for 'access' field in objects, entities, places, etc. that allow public (unrestricted) viewing
public_access_settings = [1]

# list of values for 'access' field in objects, entities, places, etc. that allow privileged viewing 
# (ie. user in on a privileged network as defined below)
privileged_access_settings = [1,2]

# List of IP address to consider "privileged" (can see items where access = 1 or 2)
# It is ok to use wildcards ("*") for portions of the address to create class C or B addresses
# Eg. 192.168.1.5, 192.168.1.* and 192.168.*.* are all valid and increasingly broad
privileged_networks = [192.168.6.*]

Il est aussi possible de changer les valeurs par défaut de la liste d’accès en copiant la liste access_statuses (statuts d’accès) depuis le profil de base vers un profil spécifique. Une fois cette liste insérée, chacune de ses valeurs peut être changée pour satisfaire les besoins locaux.

2.Contrôler les accès au niveau des métadonnées

Le contrôle au niveau des métadonnées peut être utilisé pour mettre en place des éléments de métadonnées spécifiques, tels “pas d’accès” ("No Access"), ”lecture seule” ("Read-only access") ou “lecture et édition”("Read/edit access") pour différents rôles dans Providence. Pour changer ces paramètres depuis l’interface de Providence, utilisez l’onglet Manage > Access control > Access roles > Metadata.

Dans le profil d’installation, utilisez la syntaxe suivante:

   <role code="intern">
      <name>Intern</name>
      <description>Access control actions defined for Interns</description>
      <actions/>
      <bundleLevelAccessControl>
        <permission table="ca_objects" bundle="ca_attribute_current_insurance" access="none"/>
        <permission table="ca_objects" bundle="ca_attribute_additional_costs" access="read"/>
      </bundleLevelAccessControl>
      <typeLevelAccessControl/>
      <sourceLevelAccessControl/>
   </role>

3.Contrôler les accès au niveau des types

Pour contrôler les accès au niveau des types, copiez ce code dans le fichier /app/conf/app.conf de Providence:

# -------------------------
# Type-level access control
# -------------------------
perform_type_access_checking = 1 

#if set to zero type-level control will be disabled

default_type_access_level = __CA_BUNDLE_ACCESS_EDIT__

Une fois ces lignes ajoutéess au fichier de configuration, des types d’enregistrement spécifiques, comme par exemple un object_type particulier, peuvent être définis comme fermés en lecture ("No Access"), ouverts en lecture seule ("Read-only access") ou ouverts en lecture et édition ("Read/edit access") pour différents rôles dans Providence.

Dans le profil d’installation, utilisez la syntaxe suivante:

   <role code="intern">
      <name>Intern</name>
      <description>Access control actions defined for Interns</description>
      <actions/>
      <bundleLevelAccessControl/l>
      <typeLevelAccessControl>
        <permission table="ca_objects" type="image" access="read"/>
        <permission table="ca_objects" type="book" access="edit"/>
        <permission table="ca_objects" type="document" access="none"/>
      </typeLevelAccessControl>
      <sourceLevelAccessControl/>
   </role>

4.Contrôler les accès au niveau des sources

Pour contrôler les accès au niveau des sources, copiez ce code dans le fichier /app/conf/app.conf de Providence:

# -------------------------
# Source-level access control
# -------------------------
perform_source_access_checking = 0

#if set to zero type-level control will be disabled

default_source_access_level = __CA_BUNDLE_ACCESS_EDIT_

Désormais, les accès peuvent être spécifiés pour des enregistrements ayant une source spécifique. Pour changer les droits d’accès, utilisez l’onglet Manage > Access control > Access roles > Source.

Note: chaque type d’enregistrement doit avoir une liste de sources définie (c’est-à-dire "object_sources," "entity_sources," etc.) pour utiliser ce type de contrôle des accès. Le bundle prédéfini “source_id” peut être placé sur un formulaire d’édition, pour permettre aux utilisateurs de sélectionner la source pertinente lors de l’ enregistrement d’un objet. Lorsqu’une source par défaut est mise en place pour un rôle spécifique, le bundle “source_id” devient facultatif: la source par défaut sera mise en place automatiquement pour cette connexion.

Si vous travaillez sur le profil d’installation, utilisez la syntaxe suivante:

   <role code="intern">
      <name>Intern</name>
      <description>Access control actions defined for Interns</description>
      <actions/>
      <bundleLevelAccessControl/l>
      <typeLevelAccessControl/>
      <sourceLevelAccessControl>
        <permission table="ca_objects" source="archive" access="read"/>
        <permission table="ca_objects" source="collection" access="none"/>
        <permission table="ca_objects" source="library" access="edit" default="1"/>
        <permission table="ca_entities" source="all_departments" access="edit" default="1"/>
      </sourceLevelAccessControl>
   </role>

5.Contrôler les accès au niveau des objets

Ce niveau de contrôle permet de cacher des enregistrements entiers à des utilisateurs ou groupes d’utilisateurs identifiés dans Providence. Copiez ce code dans le fichier /app/conf/app.conf de Providence:

# -------------------------
# Item-level access control
# -------------------------
perform_item_level_access_checking = 0

#if set to zero type-level control will be disabled

default_item_access_level = __CA_ACL_EDIT_DELETE_ACCESS__

 

page originale du wiki

 

Vous avez d’autres questions ? Envoyer une demande

0 Commentaires

Veuillez vous connecter pour laisser un commentaire.
Réalisé par Zendesk