Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

fr:specs:access-control [2016/08/26 21:06] (Version actuelle)
Ligne 1: Ligne 1:
 +====== Contrôle d'​accès ======
 +{{tag> spec rights}}
 +
 +Les **contrôles d'​accès** permettent de définir quelles actions l'​utilisateur a le droit d'​effectuer sur quelles ressources. Plus d'​infos générales sur [[http://​fr.wikipedia.org/​wiki/​Contrôle_d'​accès|wikipedia]].
 +
 +===== Définitions =====
 +
 +Une **ressource** est généralement une information,​ un ensemble d'​informations ou un outil.
 +
 +Un **droit d'​accès** est l'​association d'une ressource et d'une action sur cette dernière. Exemple : ''​read-books''​ pour "Lire les livres"​
 +
 +Une **autorisation** est l'​attribution d'un droit d'​accès à un utilisateur.
 +
 +Une **liste de droits d'​accès** (ACL) désigne généralement l'​ensemble des autorisations relatives à une ressource donnée (ou d'un autre point de vue, les autorisations d'un utilisateur sur les différentes ressources).
 +
 +===== Implémentation =====
 +
 +  * ''​Ekylibre::​Access::​Right''​ désigne un droit d'​accès
 +  * ''​User#​rights''​ contient la liste des autorisations des utilisateurs
 +
 +Le module ''​Ekylibre::​Access''​ permet de centraliser l'​ensemble des ressources et des droits relatifs.
 +
 +
 +==== Right ====
 +
 +<code ruby>
 +class Right
 +  # def resource
 +  # def interaction
 +  # def actions
 +  # def dependencies
 +  # def human_name
 +end
 +</​code>​
 +
 +L'​identifiant d'un droit d'​accès peut s'​écrire sous une forme synthétique : ''<​interaction>​-<​resource>''​.
 +Exemples : ''​close-financial_years'',​ ''​write-animals''​.
 +
 +C'est sous cette forme-là, qu'ils doivent être enregistrés systématiquement.
 +
 +Il est envisageable de mettre en place des droits spéciaux. Exemples : ''​*-plants'',​ ''​read-*''​
 +
 +==== Ressource ====
 +
 +Les ressources sont listées sous forme de ''​Symbol''​ et ne possède aucune propriété particulière.
 +===== Débats =====
 +
 +==== Est-ce que les ressources sont une nomenclature ? ====
 +
 +Oui, parce que :
 +  - C'est une liste d'​information homogène
 +Non, parce que :
 +  - C'est une liste relative à un outil (Ekylibre en l'​occurrence)
 +  - La liste devrait être personnalisable par les extensions qui amènent des ressources inconnues de cette nomenclature,​ et les nomenclatures n'ont pas vocation à être modifiées par des extensions (risque de "​propriétarisation"​ partielle).
 +
 +