各レベルで異なるレベルのアクセス権を持つ115レベルの階層を作成する方法。
シナリオは、1つのルートノードを持つ階層(ツリー)を作成し、そのノードの下に3つのサブノードが存在するようにしたいのです。これらの3つのサブノードのそれぞれの下に、さらに3つのサブノードが存在する。このようにして、階層は115レベルまで拡張されます。ルートノードには、階層の終わりまでその下にあるすべてのノードのデータを表示するアクセス権があるという制約があります。ツリー内の他のすべてのサブノードには、その下にあるサブノードのデータと、その下に来る後続のサブノードのデータを階層の終わりまで表示するアクセス権が与えられます。php:各レベルで異なるレベルのアクセス権を持つ115レベルの階層を作る方法。
1
A
答えて
1
おそらくこのような複雑な構造をデータベースに反映させたいと思うでしょうから、私の提案された解決法は言語に依存しません。
よう
のParentIDは上位に参照する外部キーであるTable Nodes: ID, ParentID, Name, Content
ようなテーブルを作成します。ルートにはParentID = nullがあります。
別のテーブルあなたはノードへのアクセス権を与える
Table Node_Rights: NodeID, UserID
を作成します。
これで、すべての階層をループすることでユーザーのアクセス権を明らかにすることができました。これにより、多くのSQLクエリが効果的に使用されます。私はこれらのクエリを1回またはユーザ/アクセス権が変更されるたびに実行し、その結果を別のテーブルに保存する必要があると思います。次のようになります。
Table Transivite_Node_Rights: NodeID, UserID
この表は、このような大きな構造を実現するためのキャッシュです。
関連する問題
- 1. ActiveRecordと2レベルの階層
- 2. 要素のDOM階層レベルを取得する(カウントの子孫レベル)
- 3. データ階層の3つのレベルをバインドする
- 4. gitリポジトリを階層レベルに移動
- 5. TreeViewControlに階層レベルを設定する方法は?
- 6. shutil.rmtree(Pythonの混合階層レベル)
- 7. haskellの異なるレベルの相互作用レベル
- 8. Androidでレベル2のアクセス権を取得
- 9. 階層内の異なるレベルのCSS浮動小数点を避ける
- 10. Sql階層IDレベル別並べ替え
- 11. 異なるレベルの特異性を持つOCamlタイプ
- 12. いくつかのレベルの親/子階層を持つSQL反復
- 13. ユーザー制限レベルで異なる内容をトリガーするレベル
- 14. x86プロセッサでハードウェア特権レベルを操作する方法
- 15. 任意レベルの自己参照階層モデルを取得する
- 16. 相対パスを使用するフォルダ階層の第3レベル
- 17. Chomsky階層のタイプクラスと文法レベルの対応
- 18. 流暢なNHibernate - 多レベルのクラス階層のマッピング
- 19. 3レベル階層の効率的な検索
- 20. Pythonの異なるレベルでの印刷
- 21. レベル1とレベル2のキャッシュをパージする方法は?
- 22. 2つのレベルの階層データをMySQLから取得するための最適な方法
- 23. Qt4:親クラスにアクセスする最善の方法(1レベル上、2レベル上...)
- 24. XSLのみを使用してxmlのn番目のレベル階層にアクセスする方法
- 25. NHibernateの複数のレベルの階層は、基本クラスのプロパティ
- 26. OracleレベルのOLAP階層への親子データの取得
- 27. 階層内の合計子レベルの合計
- 28. 異なるレベルのmuenchianグループ化ノード
- 29. 音声認識ソフトウェアの異なるレベル
- 30. 異なるAndroidの許可レベル
聖なる牛、あなたは何のために多くの特権を必要としますか? o_O – Amber