私は Spring Security ACL 実装を使用していますが、既存のオブジェクト ID のロール/ユーザー (セキュリティ ID - SID) に新しいアクセス許可を付与する最良の方法は何か疑問に思っています。
たとえば、次のようなものがあるとします (ほとんどの場合、主キーとその他の列を省略し、読みやすくするために文字列値で参照するだけです)。
- ACL_SID:
ROLE_TEST
- ACL_CLASS:
test_class
- ACL_OBJECT_IDENTITY:
- ID:
1
- object_id_class:
test_class
- object_id_identity:
someObjectInstanceId
- ID:
- ACL_ENTRY:
- acl_object_identity:
1
- シド:
ROLE_TEST
- mask:
CREATE
(これはデータベース内の整数になります)
- acl_object_identity:
ここで、 class の将来および既存のすべてのオブジェクトのWRITE
役割に権限を付与したいと考えています。今後作成されるオブジェクトについては、役割の権限を確認して付与するだけです。しかし、既存のオブジェクトはどうですか?ROLE_TEST
test_class
Spring はこれを簡単に行うための何かを提供していますか、それとも次のことを行うために独自のカスタム コードを作成する必要がありますか?
- 新しいアクセス許可を付与するロール/ユーザーの SID を持つすべての ACL エントリを取得し、適切な を持つオブジェクト ID を参照します
object_id_class
。 - 結果ごとに、新しいアクセス許可を反映するマスクを除いて、結果と同じ新しい ACL エントリを作成します。