非常に複雑なアクセス制御ルールを持つWebアプリケーションの場合、常にACLを使用しますか?
ユーザーの特権を決定する際には、次のような多くの考慮事項があります。
- 彼らはログインしていますか?
- 彼らは管理者ですか、それとも通常のユーザーですか?
- 彼らはグラフのノードを閲覧していますか?
- 彼らはどのタイプのノードを閲覧していますか?
- ノードとの関係(つまり、ノードへのパス)は何ですか?
- ユーザーのデフォルト設定は何ですか?
- ノードのデフォルト設定は何ですか?
- ユーザーをノードに接続するグラフエッジの設定は何ですか?
- 等
ACLの開発は困難であることが証明されていました。しばらくして、すべてのアクションの上部にある基本的な属性に対して「if/then」チェックを実行することにしました。if(isAdmin) {...}
これは問題なく機能しているようで、永続的な解決策としてそのままにしておくべきかどうか疑問に思っています。したがって、質問:アクセス制御の複雑さがACLを超えるポイントが来るのでしょうか。それとも、もう少し頑張る必要があるというだけですか?