Je travaille sur une application vb.net winforms où nous utilisons actuellement des rôles simples pour la sécurité. Nous activons/désactivons les contrôles spécifiques basés sur si l'utilisateur actuel a le rôle requis. Nous sommes au point où ce n'est plus assez granulaire.Conception d'un modèle de sécurité basé sur les autorisations
Notre application est basée sur différents emplacements physiques que nous appelons des sites. Un utilisateur peut avoir l'autorisation de faire quelque chose (par exemple, modifier la configuration d'un site) sur un site mais pas sur un autre. Par conséquent, nous devons maintenant rechercher les autorisations en fonction de l'utilisateur actuel ET du site actuel. En outre, les autorisations d'un certain utilisateur peuvent être très spécifiques à eux-mêmes. les autorisations de l'autre utilisateur sont exactement les mêmes que celles d'un autre utilisateur. Par conséquent, nous avons besoin d'un modèle de sécurité basé davantage sur les autorisations que sur les rôles.
Quelle est la meilleure façon de concevoir un nouveau modèle d'autorisations pouvant répondre à ces exigences? Je veux m'assurer qu'il est facile d'implémenter la vérification dans le code (je ne veux pas un million si les instructions sont saupoudrées dans nos méthodes SetUIPermissions) et nous ne voulons pas avoir à mettre à jour chaque utilisateur (400+ et compter) temps, nous ajoutons une nouvelle autorisation. En raison de cette dernière exigence, je pense que nous devons conserver l'idée de rôles, mais éventuellement ajouter/supprimer des exceptions pour des autorisations particulières pour des utilisateurs spécifiques.
Des idées?
C'est essentiellement ce que j'ai conçu. Nous allons garder l'idée des rôles, ajouter des permissions que chaque rôle obtient et laisser des exceptions positives et négatives pour le rôle de chaque combinaison utilisateur/site. –