私はまだACLプロジェクトに取り組んでおり、次の問題についていくつかのアイデアが必要です。
MySQLを使用して、ユーザー、ロール、および権限を保存しています。最初に、TABLEロールにフィールド「parent_id」を作成し、これを介して各ユーザーの権限を管理しようとしていました。新しい役割を追加すると、階層を管理し、誰がどのリソースにアクセスできるかを制御するのが非常に複雑であることに気付くまで、それは一種の作業でした。いくつか検索を行ったところ、リレーショナルデータベースを使用して階層を操作するのは非常に複雑であることがわかったため、階層の使用をあきらめました。
ユーザーの作成を管理するための最適なソリューションを見つけるためにあなたの助けをお願いします:私には4人の異なるユーザーがいます:SuperAdmin、CustomerAdmin、Technician、client。新しいユーザーを作成するページにいるとき、技術者にCustomerAdminやSuperAdminなどのタイプの新しいユーザーを作成させたくありません。
SuperAdminだけに新しいユーザーを作成させることを考えましたが、私の制約の1つは、CustomerAdminにも技術者であるユーザーを作成させる必要があるということです。
より教訓的になるように努めて、SuperAdminは私になることができます。顧客管理者は私のクライアントであり、彼には企業があります。彼の企業では、技術者とクライアントの2種類のユーザーを作成できます。
これは単なる例ですが、彼に新しい権限を与える新しい種類のロールを作成する場合は、彼よりも強力なユーザーを作成する権限を拒否する方法を見つける必要があります。
私の質問が客観的であったかどうかはわかりませんが、これについて私と話すことができる人なら誰でも歓迎します。