コード例 #1
0
ファイル: AclTest.php プロジェクト: jaztec/jaztec-acl
 public function setUp()
 {
     Bootstrap::setUpAclDatabase();
     $em = Bootstrap::getServiceManager()->get('doctrine.entitymanager.orm_default');
     /* @var $em \Doctrine\ORM\EntityManager */
     $this->serviceManager = Bootstrap::getServiceManager();
     $this->acl = $this->serviceManager->get('jaztec_acl_service')->getAcl();
     $resource1 = new \JaztecAcl\Entity\Acl\Resource('resource01');
     $resource2 = new \JaztecAcl\Entity\Acl\Resource('resource02', $resource1);
     $resource3 = new \JaztecAcl\Entity\Acl\Resource('resource03', $resource2);
     $resource4 = new \JaztecAcl\Entity\Acl\Resource('resource04');
     $resource5 = new \JaztecAcl\Entity\Acl\Resource('resource05', $resource4);
     $privilege1 = new \JaztecAcl\Entity\Acl\Privilege();
     $privilege1->setResource($resource5);
     $privilege1->setRole($em->getRepository('JaztecAcl\\Entity\\Acl\\Role')->findOneBy(['name' => 'guest']));
     $privilege1->setType('allow');
     $em->persist($privilege1);
     $em->persist($resource1);
     $em->persist($resource2);
     $em->persist($resource3);
     $em->persist($resource4);
     $em->persist($resource5);
     $em->flush();
     // Clear the ACL.
     $this->acl->removeResourceAll();
     $this->acl->removeRoleAll();
     $this->acl->setupAcl();
 }