以下のような認可ルールを実装する必要があります。
ユーザーがスーパー管理者の場合は、すべての顧客情報を彼に提供してください。注文情報など。ユーザーが顧客管理者である場合は、彼自身の顧客情報のみを提供してください。等。
DAO層でのフィルタリングを実装する予定です。
このシナリオを処理するための一般的な設計を作成するための提案は何ですか? アプリケーションには、RBAC (ロールベースの承認制御) 用の DB モデルが既にあると仮定します。JPAやiBATIS、ネイティブクエリなど、あらゆるDAOテクノロジーに対応しています。
大まかな承認基準は次のとおりです。認可ポリシーは構成可能で、実行時に変更できる必要があります。例: 顧客管理者が自分のデータを表示できる場合、将来的にルールを変更して、自分と友人のデータを表示できるようにすることができます。
XACML のような承認ポリシーを評価しましたが、その複雑さのために実装するのは好きではありませんでした。自家製のソリューションを作成する予定です。任意の提案を歓迎します。