2009-12-22 14 views
2

Nous construisons/concevons la prochaine génération de notre système de vente/commande/CRM qui comprend des entités comme client (hiérarchie client en particulier), commande, action de promotion, ... Chaque utilisateur du système aurait dû affecter un ou plusieurs clients. Les utilisateurs doivent être organisés dans une forme de hiérarchie organisationnelle. Le système doit contrôler l'accès aux entités liées aux clients en fonction des paramètres actuels de l'utilisateur . Le problème est qu'il devrait fonctionner de manière hiérarchique dans les directions client et utilisateur. Cela signifie que si l'utilisateur a affecté le client X de la hiérarchie, il devrait également être en mesure de fonctionner avec tous les enfants de ce client. Et de manière simmilar avec utilisateurs - un gestionnaire devrait être en mesure de fonctionner avec toutes les entités liées au client qui sont autorisés pour ses subordonnés. Je souhaiterais utiliser Rhino Security pour restreindre l'accès aux opérations sur les entités du système, mais je ne suis pas sûr que ce scénario complexe soit approprié pour . Mon état d'esprit actuel est qu'il devrait être possible si je suis en mesure de développer un processus d'arrière-plan (probablement basé sur le bus de service) qui serait capable de générer des groupes d'entités pour toutes les entités nouvelles/modifiées. Cependant, cela signifie qu'il y aura beaucoup de groupes d'entités sans arrière-plan de bonne intention. Il n'y aura pas de groupes comme "clients qui ne paient pas les factures", etc, mais juste des groupes comme "clients pour l'utilisateur X", qui contiendraient tous les clients autorisés. Il y aura d'autres opérations qui seraient contrôlées de manière beaucoup plus standard de sécurité Rhino, comme "seuls les gestionnaires sont capables d'invalider un client".Rhino Security implémentation pour cas d'utilisation "utilisateur ne peut voir que des entités pour les clients qui lui sont assignés"

Je vous en serais reconnaissant des réflexions sur ce problème ...

Répondre

0

Issu d'une perspective de SharePoint, que je sais est pas le cas ici, il semble la meilleure façon de procéder est de créer une sécurité personnalisée régime qui a des autorisations xyz. Après quoi, vous attribuer des utilisateurs à ce groupe, pour clarifier c'est la même chose que d'utiliser un état d'esprit de portail. Un référentiel central pour les données avec plusieurs utilisateurs recevant les informations appropriées. J'espère que cela t'aides.