現在、多くのユーザーに異なるアクセス権があるリソースに対して、ロールベースの認証システムを設計しています。スケーラブルな役割ベースの認証
ロールは、単一のユーザーまたはロールのグループ(ロールはロールのツリーなので)です。
(下図を参照)リソースは、このそれぞれの操作へのアクセスを行うために許可されたロールのリストで複数の認証プロパティを(のような、読み取り、書き込み、削除)、持つことができます。問題は、私は、ユーザーがプロパティにアクセスする権利を有するかどうかを確認したい場合は、私は最悪の場合にはn個の木をトラバースする必要がある(ここで、nはロールの数です
(下図を参照)プロパティに割り当てられます)。
たとえば、 'Max'がプロパティを読み取ることができるかどうかを確認するには、マーケティング、管理、および管理ツリーに「Max」が含まれているかどうかをチェックする必要があります。
では、ロールシステムまたは同等に強力な何かを維持しながら、非常に高価なツリー検索を除去する任意のアルゴリズムまたは別のアプローチを知っていますか。
n個のロールの場合、O(log(n))のようなルックアップが最適なケースです。
おかげで、 Fionn
私が見る限り、機能要件/仕様の説明にはツリーが含まれています。したがって、仕様を変更するか、ツリーの検索が「非常に高価」になるのを防ぐ方法を見つける必要があります。 – ChrisW