Symfony2를 사용하여 웹 응용 프로그램을 만들고 있습니다. 나는 ACL 모듈을 구현하고 있었지만 완벽하게 작동했지만 권한을 관리하기 위해 패널을 만들려고 할 때 문제가 발생했습니다.Symfony2에서 현재 로그인 한 사용자가 아닌 다른 사용자의 ACL을 가져 오는 중입니까?
그래서 나는 프로젝트를 만들고 그의 프로젝트에 "참가자"를 추가 할 수있는 사용자를 확보했습니다. 참가자는 마스크 제작자 MASK_VIEW
, MASK_EDIT
, MASK_OPERATOR
의 마스크 인 세 가지 액세스 유형을 가질 수 있습니다. ProblematicAclManagerBundle
사용하여 우리는 쉽게이이 일을 사용하여 액세스를 추가 할 수 있습니다
$this->aclManager->addObjectPermission($project, $mask, $user);
것은이 프로젝트를 편집 할 때, 당신은 자신의 현재 액세스 권한을 가진 사용자를 나열 할 수 있어야한다는 것입니다. isGranted
함수를 사용하면 현재 로그인 한 사용자에 대한 사용자 권한을 얻을 수 있지만 다른 사용자에게는 권한이 없습니다. 세 개의 인수가있는 addXXXX
함수와 비교할 때 isGranted
에는 보안 개체와 마스크가 두 개만 있습니다. 따라서이 기능을 사용하는 다른 사용자의 권한을 찾을 수 없습니다.
다른 사용자의 권리를 얻는 방법이 있습니까? 또는 acl 테이블에서 데이터를 추출하기 위해 자체 SQL 쿼리를 작성해야합니까?
것은 내가 TokenInterface을 확장하는 새 토큰을 만들어야 할 것입니다. 그런 다음 사용자를 인증 된 것으로 조롱합니다. 조금 해키지만 작동 할 것입니다 –