Symfony2を使用してWebアプリケーションを構築しています。私はACLモジュールを実装していて、それは完全に機能しましたが、権利を管理するためのパネルを作成しようとしたときに問題に遭遇しました。
そこで、プロジェクトを作成して、彼のプロジェクトに「参加者」を追加できるユーザーを取得しました。MASK_VIEW
参加者は、マスクビルダーからのマスクである3つの異なるアクセスタイプを持つことができMASK_EDIT
ますMASK_OPERATOR
。を使用すると、ProblematicAclManagerBundle
これを使用してこれらへのアクセスを簡単に追加できます。
$this->aclManager->addObjectPermission($project, $mask, $user);
プロジェクトを編集するときは、現在のアクセス権を持つユーザーを一覧表示できる必要があります。この関数isGranted
は、現在ログインしているユーザーに対して正しいユーザーを取得できますが、他のユーザーに対しては取得できません。addXXXX
引数が3つある関数と比較するとisGranted
、保護されたオブジェクトとマスクの2つしかありません。したがって、この機能を使用して別のユーザーの権利を見つけることはできません。
組み込みの他のユーザーの権限を取得するための何らかの方法はありますか?または、aclテーブルからデータを抽出するために独自のSQLクエリを作成する必要がありますか?