DB Schéma d'un Accès Basé sur un Rôle de Contrôle

Je suis actuellement à l'élaboration d'un membre de l'administration pour une association locale ici et je suis élaboration du schéma de base de données pour le moment. Je voudrais le partager avec vous afin de l'améliorer et de le donner aux autres un exemple d'un Accès Basé sur un Rôle de Modèle (RBAC). J'apprécierais toute critique constructive en particulier sur les relations que j'ai utilisé entre les tables.

Lien vers highres: http://i.stack.imgur.com/WG3Vz.png

Voici le schéma: DB Schéma d'un Accès Basé sur un Rôle de Contrôle

Comment cela fonctionne:

Je suis cartographie des clients existants (en fait, les membres de l'association) à partir d'une application externe dans mon application d'administration. (les clients de la table)

L'association est structurée en Division, Lotissement, etc. (intern_structures tableau). Chaque client peut être un membre en Division multiple, des divisions, Sections, etc.

Chaque client peut avoir un ou plusieurs rôles dans de telles adhésions (divisions,...) comme Président, un Actuaire, un Trésorier, etc. et chaque rôle a certains privilèges dont le propriétaire du rôle peut s'appliquer sur les autres, dans sa Division,Subdivision,Section, etc.

Un justificatif d'identité est connecté à une certaine action d'une application. Le propriétaire de l'information d'identification peut exécuter cette action sur d'autres membres de sa portée. Il peut y avoir plusieurs "autonome" des applications, mais ils partagent tous la même authentification/autorisation du système.

Une application est structurée en Modules/Submodules/Actions, etc. Un exemple pourrait être une "informations Personnelles" et ce module contient un sous-module appelé "Image" et vous pourriez appliquer les actions "de la vue,de supprimer,de modifier" sur cette photo. Mais vous ne pouvez pas supprimer une image, à moins que la personne dont l'image que vous tentez de supprimer est dans une division/section où vous avez le rôle adéquat pour le faire.

L'intérieur et de la structure de la demande sont les deux arbres, mis en œuvre en tant que liste d'adjacence et ensemble imbriqué. La liste d'adjacence permet de garantir l'intégrité et l'ensemble imbriqué me permet de parcourir l'arborescence rapidement.

Une exception est que vous pouvez donner à quelqu'un certaines informations d'identification directement (client_credentials). C'est nécessaire si quelqu'un a besoin d'effectuer certaines actions sur quelqu'un qui n'est pas dans sa division/section.

Par conséquent, une personne peut être membre de plusieurs divsions/sections et d'obtenir des rôles multiples dans chaque division/section, il est un membre de. Je vais fusionner toutes les informations d'identification de quelqu'un à travers ses multiples rôles. Et les informations d'identification sont toujours positives, les moyens restrictive des informations d'identification ne sont pas possibles.

Voici un concept simple de RBAC système: stackoverflow.com/questions/28157798/...
je pense que c'est trop compliqué pour les débutants

OriginalL'auteur sled | 2010-09-10