0

特定のオブジェクトの ACL をバッチ ロードしようとすると問題が発生します (以下の例では Account クラスです)。

次のコードを使用している場合、acl_object_identities が設定されていても、設定する必要がある返される配列は空です。私は何が欠けていますか?

        $oids = array();
    foreach ($accounts as $account) {
        $oid = ObjectIdentity::fromDomainObject($account);
        $oids[] = $oid;
    }

    $aclProvider->findAcls($oids);

$accounts は、findAll() で見つかったエンティティの配列を保持します。

4

1 に答える 1

0

結局、ACL がプルされたように見えます。キーは、どのようなアクセス許可が設定されているかを確認するための反復的なフォローアップです。

foreach ($accounts as $account) {
    if ($securityContext->isGranted('EDIT', $account)) {
        // Granted, do something with it
    } else {
        // Not Granted
    }
}

したがって、すべてが設計どおりに機能しているようです。

于 2012-07-14T19:38:53.537 に答える