Un rôle peut avoir plusieurs autorisations , et une autorisation peut appartenir à plusieurs Les rôles. Je conçois une interface qui permet à l'utilisateur de gérer un rôle spécifique, et toutes les autorisations associées en même temps:
télécharger la source bmml - Wireframes créés avec Balsamiq Mockups
L'idée est que l'utilisateur doit pouvoir ajouter une autorisation existante au rôle, mais il doit également pouvoir créer une autorisation entièrement nouvelle et l'associer au rôle.
La situation est compliquée par le fait que lorsque vous créez une nouvelle autorisation, vous devez saisir des informations supplémentaires. Lorsque vous utilisez une autorisation existante, ces informations sont déjà présentes (bien que vous souhaitiez peut-être les modifier).
Je vois ici deux priorités de conception contradictoires:
Il y a jusqu'à six actions différentes que je pourrais vouloir représenter avec mon widget "permissions":
Certaines de ces actions peuvent affecter d'autres rôles, créant ainsi des conséquences inattendues. Cela pourrait être un problème majeur, surtout lorsque nous parlons d'un ensemble d'opérations aussi sensibles que la gestion du contrôle d'accès.
Il est également difficile de les représenter comme des actions distinctes. Une icône de corbeille signifie-t-elle "détacher cette autorisation de ce rôle" ou signifie-t-elle "supprimer complètement cette autorisation?"
Dans l'ensemble, la plupart des autorisations seront attribuées à un rôle lors de sa création. Il est beaucoup plus facile pour un administrateur de créer directement les nouvelles autorisations dont il a besoin lors de la création du rôle, plutôt que d'avoir à passer par une interface "autorisations" distincte.
Quelle serait une bonne façon de gérer ce compromis?
Une icône de corbeille signifie-t-elle "détacher cette autorisation de ce rôle" ou signifie-t-elle "supprimer complètement cette autorisation?"
Oui, vous avez raison, la corbeille a toujours tendance à penser que c'est une action de suppression. Donc, pour différencier le détachement et la suppression, vous devez utiliser uniquement des icônes différentes. Essayez quelque chose comme ça.
Utilisez une grille modifiable simple pour gérer vos autorisations.
J'espère que cela t'aides.