2

App Engine Datastore と組み合わせて Spring Security ACL インフラストラクチャを使用しています。低レベルの Datastore API は使用せず、Objectify フレームワークを使用して Datatstore にアクセスします。Spring Security ACL モデル (RDBMS に適している) を、スキーマのないオブジェクト指向のデータストアにより適したモデルに変換する必要があります。これまでのところ、以下に説明する 2 つのエンティティに行き着きました。

Acl

  • id:ロング
  • domainObject: キー (先祖/親)
  • エントリ: List<AclEntry> (埋め込み)
  • 所有者: 文字列

AclEntry

  • sid: 文字列
  • プリンシパル: ブール値
  • マスク: int
  • 付与: ブール値

ほとんどの場合、ACL は (ACL id ではなく) 既知の domainObject によって取得されるため、指定された ACL の祖先としてドメイン オブジェクトを使用することに決めました。 ACL の場合に重要な最新データ

問題は、そのようなモデルは、「指定されたユーザー (sid) がアクセスできる [エンティティ] は?」のようなクエリには十分ではないということです。ここで、[entities] はプロジェクト、グループなどの使用可能な任意のエンティティにすることができます...

特に App Engine Datastore で NoSQL データベースで Spring Security ACL を実行した経験のある人はいますか? ヒントをいただければ幸いです。

4

1 に答える 1