Ceci est lié à ce question qui semble avoir demandé il y a un certain temps. Implémentation de la sécurité dans un projet qui respecte les principes de base de la conception orientée domaine. permettez-moi de donner un exempleConception axée sur le domaine et la sécurité
Banking System:
Cas d'utilisation: Un nouveau dépôt bancaire est faite et requiert l'approbation comme il est premier dépôt
a. Le commis peut autoriser automatiquement si le montant du dépôt est b. Le gestionnaire peut être de deux types - gestionnaire de banque/gestionnaire de compte. Seul gestionnaire de compte peut autoriser tous les comptes qui ont dépôt> 5000
Mes préoccupations sont les suivantes (Pls correcte si le problème lui-même est correct)
- Je ne sais pas où je devrais construire cette logique suivante - prend en charge vérifier si l'utilisateur connecté a l'autorisation de faire certaines choses en tenant compte de son titre - (dans ce cas, le gestionnaire de compte). L'autorisation est un cas d'utilisation, mais la couche de sécurité semble avoir une connaissance intime de l'objet domaine
- En général Autorisation (pas d'authentification). Je sais que l'authentification basée sur les rôles serait utile, mais la question est "où" - dans quelle couche et le flux d'appels. La couche d'interface utilisateur doit-elle appeler une couche de sécurité ou la couche de domaine doit-elle se valider pour toutes les combinaisons possibles?
Aidez-nous s'il vous plaît. C'est très déroutant.
Bump pour voir si cela obtient des experts remarquent
Vive
Merci pour la réponse rapide. Je regarde. – VJVRR
Merci pour la réponse rapide. RBAC était un lien intéressant, mais je regardais plutôt quelques exemples/interfaces rapides/classes qui me donnaient une idée de comment cela pourrait ressembler. Newbie ici, therotically peut l'obtenir. Pratiquement sur l'échelle d'apprentissage. – VJVRR
Ce que j'utilise est une classe ISecurity.Authorize (chaîne userID) qui est appelée par chaque méthode lors de l'exécution de CRUD. Autoriser les vérifications si l'utilisateur est authentifié et possède l'objet mis à jour ou s'il s'agit d'un administrateur. –