Date de publication: le mardi 22 mars 2011 à 09h45
Dernière modification: par Pascal BOYER le dimanche 27 mars 2011 à 22h44
versions 3.9, 3.10, 4.x
This section explains how eZ publish manages user accounts and access permissions. The system comes with a built-in access control mechanism that can be used to limit access to content or to certain functions. The access control system is based on the following elements:
Ce chapitre explique comment eZ Publish gère les comptes des utilisateurs et les permissions d'accès. eZ Publish contient un mécanisme permettant de limiter l'accès à certains contenus ou à certaines fonctions. Ce système de contrôle d'accès est basé sur les éléments suivants:
-
User
Utilisateur -
User group
Groupe d'utilisateurs -
Policy
Droit/accès -
Role
Rôle
The following illustration shows the relations between the elements in the list above.
L'illustration suivante montre les relations qui existent entre les éléments de la liste ci-dessus:
Users, groups, policies and roles
Utilisateurs, groupes d'utilisateurs, droits et rôles
A user defines a valid user account on the system. A user group consists of users and other user groups. A policy is a rule that grants access to content or a certain system function. For example, a policy may grant read access to a collection of nodes. A role is a named collection of policies. A role can be assigned to users and user groups. The following text gives a more in-depth explanation of the user/group/policy/role elements.
Un user/utilisateur définit, sur le système, un compte utilisateur valide. Un user group/groupe d'utilisateurs est composé d'utilisateurs et d'autres groupes d'utilisateurs. Un policy/droit est une règle autorisant l'accès à du contenu ou à une certaine fonction du système. Un droit peut permettre, par exemple, l'accès en lecture à un ensemble de nœuds. Un rôle, ensemble nommé de droits, peut être assigné à un utilisateur ou à un groupe d'utilisateurs. Ce qui suit apporte des explications plus complètes sur les éléments utilisateur, groupe d'utilisateurs, droits et rôle.
User / Utilisateur
An actual user account is represented by a content object (with at least one node assignment) that contains information about a specific user. The default "User" class allows the storage of the following elements: first name, last name, E-mail, username and password. The last three elements (E-mail, username and password) are provided by the "User account" datatype. This is a special datatype which plugs more deeply into the system. Instances of any content class containing the "User account" datatype will function as valid users on the system. In other words, if there is a need to store additional information about users, it is possible to either modify the default user class or to create a custom class that contains the datatype.
Un compte utilisateur est représenté par un objet de contenu (assigné à un nœud au moins) contenant des informations sur un utilisateur particulier. La classe
User
par défaut permet de stocker les éléments suivants: prénom, nom, e-mail, identifiant et mot de passe. Les trois derniers éléments (e-mail, identifiant et mot de passe) sont fournis par le datatype
Compte utilisateur
profondément lié au système. N'importe quelle instance d'une classe contenant le datatype Compte utilisateur fonctionnera de la même manière que les utilisateurs valides du système. Cela signifie que s'il s'avère nécessaire de stocker des informations supplémentaires sur des utilisateurs alors il est possible soit de modifier la classe par défaut User soit de créer une classe personnalisée contenant ce datatype.
Enabled and disabled user accounts / Activer et désactiver les comptes utilisateurs
The user accounts can be enabled or disabled from within the administration interface. When disabled, an account will continue to exist, but the user will not be able to log in until the account is enabled. Newly created accounts are enabled by default.
Les comptes des utilisateurs peuvent être activés ou désactivés depuis l'interface d'administration. Lorsqu'il est désactivé, un compte continue d'exister mais l'utilisateur n'est plus en mesure de se connecter et ceci jusqu'à ce que le compte soit réactivé. Les comptes nouvellement créés sont activés par défaut.
Locked and unlocked user accounts / Bloquer et débloquer les comptes utilisateurs
In addition to being enabled and disabled, user accounts can be locked and unlocked. An account will be automatically locked by the system if the maximum number of failed login attempts is exceeded. A failed login attempt is a combination of a valid username and an invalid password. Once an account is locked, its owner will not be allowed to log in until the account is either unlocked by another user with administrator privileges or if the login request is coming from a trusted IP address / range.
En plus d'être activés ou désactivés, les comptes utilisateurs peuvent être bloqués ou débloqués. Un compte est automatiquement bloqué par le système lorsque le
nombre maximum autorisé de tentatives de connexion
est atteint. Un essai de connexion infructueux est en fait la combinaison d'un identifiant valide et d'un mot de passe incorrect. Une fois bloqué, le propriétaire du compte ne peut plus se connecter au système et cela jusqu'à ce que le compte soit
débloqué
par un utilisateur ayant des droits d'administrateur ou si la requête de connexion provient d'une adresse IP de confiance.
The number of failed log-in attempts are stored in a database table called "ezuservisit". An account's failed login counter is automatically reset upon a successful log-in. In other words, as long as you log in with a valid username/password combination, the failed log-in attempt counter associated with your account will be zero.
Le nombre de tentatives de connexions échouées est stockée dans la table ezuservisit de la base de données. Le compteur des connexions échouées relatives à un compte est automatiquement remis à zéro lors d'une connexion réussie. En d'autres termes, aussi longtemps que vous vous connectez avec un couple identifiant/mot_de_passe valide le compteur de connexions échouées associé à votre compte restera à zéro.
Note that the default configuration does not allow different users to be registered with the exact same E-mail address. This is just a built-in precaution mechanism which can be easily turned off by setting the "RequireUniqueEmail" directive within the [UserSettings] block of a configuration override for "site.ini" to "false".
Retenez que la configuration par défaut ne permet pas à différents utilisateurs ayant la même adresse e-mail de s'enregistrer. Cela n'est qu'une mesure de précaution par défaut pouvant être facilement désactivée en positionnant à false le paramètre RequireUniqueEmail de la section [UserSettings] du fichier de configuration site.ini (ou de l'une de ses surcharges).
User ID / ID de l'utilisateur
Every user has a unique identification number which is the same as the ID number of the actual object that represents the user account. Among other things, the user IDs are used by other objects on the system. In particular, an object contains references (by the way of user IDs) to the initial creator and to all users who have created versions within that object. Removing a user account might lead to an inconsistent state where objects have owner/modifier references to nonexisting user accounts. Because of this, it is not recommended to remove users from the system, the accounts to be removed should be disabled instead.
Chaque utilisateur possède un numéro d'identifiant unique identique au numéro de ID de l'objet qui représente le compte de l'utilisateur. Par ailleurs, les identifiants des utilisateurs sont utilisés par d'autres objets du système. En particulier, un objet contient des références (à travers les ID des utilisateurs) sur le créateur initial et sur tous ceux qui ont créé des versions de cet objet. Supprimer un compte utilisateur peut engendrer un état inconsistant dans lequel des objets auront des références à des utilisateurs dont les comptes n'existent plus. Pour cette raison, il n'est pas recommandé de supprimer les utilisateurs du système mais de simplement désactiver les comptes.
User group / Groupe d'utilisateurs
A user group is a content object (with at least one node assignment) that contains user accounts and other user groups. In other words, a user group is just a collection of users (similar to a directory containing files and sub-directories on a file system).
Un groupe d'utilisateurs est un objet de contenu (assigné à un nœud au moins) contenant des comptes utilisateur et d'autres groupes d'utilisateurs. En d'autres termes, un groupe d'utilisateurs n'est rien d'autre qu'un ensemble d'utilisateurs (à l'image d'un répertoire contenant des sous-répertoires sur un système de fichier).
Policy / Droit
A policy is a rule that grants access to a specific function or all functions of a module. A policy consists of the following elements:
Un droit est une règle garantissant l'accès à une fonction spécifique ou à toutes les fonctions d'un module. Un droit est composé des éléments suivants:
-
Module name
Nom du module -
Function name
Nom de la fonction -
Function limitation
Limitation de la fonction
The module name reveals the actual module that the policy grants access to. The function name specifies which function the policy should be limited to. A policy can either be restricted to a single function or grant access to all functions of a module. A module can have none or several functions. The functions are assigned to the module's views and thus the access requirements for a view are controlled by the functions that are assigned to that view. The function-view assignments can not be tampered with from within the administration interface. A policy granting access to a module's function can be further restricted by the way of function limitations. This can only be done if the function itself supports limitations. A function may support none, one or several limitations. The following table shows an overview of the available function limitations.
Le nom du module renseigne sur le module auquel le droit donne accès. Le nom de la fonction spécifie la fonction à laquelle le droit se limite. Un droit peut soit être restreint à une seule fonction soit garantir l'accès à toutes les fonctions d'un module. Un module peut comporter zéro ou plusieurs fonctions. Celles-ci sont assignées aux vues des modules et les accès requis pour une vue sont contrôlés par les fonctions assignées à cette vue. Les assignations de fonction de vue ne peuvent être bidouillées depuis l'interface d'administration. Un droit garantissant l'accès à une fonction d'un module peut être limité par le biais de limitations de fonction à condition que la fonction elle-même supporte les limitations. Une fonction peut n'en supporter aucune, une seule ou plusieurs. Le tableau ci-dessous donne une vue d'ensemble des limitations de fonction disponibles:
|
Limitation Nom de la restriction | Description |
|---|---|
| Class |
The "Class" limitation makes it possible to limit a policy to objects of certain types. La restriction Class permet de limiter un droit à certains types d'objets. |
| Language |
The "Language" limitation makes it possible to limit a policy to object versions in specific languages. La restriction Language permet de limiter un droit à certaines langues des versions des objets |
| Node |
The "Node" limitation makes it possible to limit a policy to a specific node. La restriction Node permet de limiter un droit à certains nœuds. |
| Owner |
The "Owner" limitation makes it possible to limit a policy to objects that are owned by the user who is logged in. La restriction Owner (propriétaire) permet de limiter un droit aux objets appartenant à l'utilisateur qui est connecté. |
| Parent class |
The "Parent class" limitation makes it possible to limit a policy based on the type of the object referenced by the parent node. La restriction Parent class permet de limiter un droit en se basant sur le type d'objet référencé par le nœud parent. |
| Section |
The "Section" limitation makes it possible to limit a policy to objects that are assigned to certain sections. La restriction Section permet de limiter un droit aux objets assignés à certaines sections. |
| Siteaccess |
The "Siteaccess" limitation makes it possible to limit a policy to a certain siteaccess. La restriction Siteaccess permet de limiter un droit à certains siteaccess |
| Status |
The "Status" limitation makes it possible to limit a policy to a certain version status (published, archived, etc.). La restriction Status permet de limiter un droit à certains états des versions (publié, archivé, etc...). |
| Subtree |
The "Subtree" limitation makes it possible to limit a policy to a certain part of the content node tree. La restriction Subtree permet de limiter un droit à certaines parties de l'arbre de nœuds de contenu. |
Role / Rôle
A role is a named collection of policies. A role can be assigned to users and user groups. It is possible to assign a role with additional limitations. The role limitation feature is typically useful in a case where multiple users with similar permissions have to manipulate different parts of the content node tree. Instead of creating a role for each user, the site administrator can create a generic role and assign it with different limitations to the different users. The role limitations will override the limitations of the role's policies. The following table shows an overview of the available role limitations.
Un rôle, ensemble nommé de droits, peut être assigné à des utilisateurs ou à des groupes d'utilisateurs. Il est possible d'assigner un rôle avec des restrictions supplémentaires. La fonctionnalité permettant de restreindre un rôle est très utile lorsque plusieurs utilisateurs ayant des droits similaires doivent manipuler différentes parties de l'arbre de nœuds de contenu. Plutôt que de créer un rôle pour chaque utilisateur, l'administrateur du site peut créer un rôle générique puis l'assigner avec différentes restrictions aux différents utilisateurs. Les restrictions des rôles surchargent (sont prioritaires) les restrictions des droits des rôles. Le tableau suivant donne une vue d'ensemble des restrictions qu'il est possible d'appliquer aux rôles:
|
Limitation Nom de la restriction | Description |
|---|---|
| Section |
The "Section" limitation makes it possible to limit a role to objects that are assigned to certain sections. La restriction Section permet de limiter un rôle aux objets assignés à certaines sections. |
| Subtree |
The "Subtree" limitation makes it possible to limit a role to a certain part of the content node tree. La restriction Subtree permet de limiter un rôle à certaines parties de l'arbre de nœuds de contenu. |
Commentaires














