私たちは、顧客 (特に顧客階層)、注文、プロモーション アクションなどのエンティティで構成される次世代の販売/注文/CRM システムを構築/設計しています。システムの各ユーザーは、1 人以上の顧客を割り当てている必要があります。ユーザーは、組織階層の形式で編成する必要があります。システムは、現在のユーザー設定に従って、顧客関連エンティティへのアクセスを制御する必要があります。問題は、顧客とユーザーの両方の方向で階層的に機能する必要があることです。つまり、ユーザーが階層から顧客 X を割り当てた場合、この顧客のすべての子も操作できる必要があります。また、ユーザーと同様に、マネージャーは、部下に許可されているすべての顧客関連エンティティを操作できる必要があります。
システム内のエンティティに対する操作へのアクセスを制限するために Rhino Security を使用したいのですが、この複雑なシナリオに適しているかどうかわかりません。私の現在の心境は、すべての新しい/変更されたエンティティのエンティティ グループを生成できるバックグラウンド プロセス (おそらくサービス バス ベース) を開発できれば、それが可能になるはずだということです。ただし、これは、善意の背景のないエンティティ グループが非常に大量に存在することを意味します。「請求書を支払わない顧客」などのグループはありませんが、許可されたすべての顧客を含む「ユーザー X の顧客」のようなグループだけです。「マネージャーのみが顧客を無効化できる」など、Rhino Security の標準的な方法で制御されるその他の操作がいくつかあります。
この問題について何か考えていただければ幸いです...