public function configureACL(OutputInterface $output, AclInterface $acl, MaskBuilder $builder, array $aclInformations = array()) { foreach ($aclInformations as $name => $masks) { foreach ($masks as $mask) { $builder->add($mask); } $acl->insertClassAce(new RoleSecurityIdentity($name), $builder->get()); $output->writeln(sprintf(' - add role: %s, ACL: %s', $name, json_encode($masks))); $builder->reset(); } }
/** * Installs the default Class Ace entries into the provided $acl object. * * Override this method in a subclass to change what permissions are defined. * Once this method has been overridden you need to run the * `fos_comment:installAces --flush` command * * @param AclInterface $acl * @param MaskBuilder $builder * @return void */ protected function doInstallFallbackAcl(AclInterface $acl, MaskBuilder $builder) { $builder->add('iddqd'); $acl->insertClassAce(new RoleSecurityIdentity('ROLE_SUPER_ADMIN'), $builder->get()); $builder->reset(); $builder->add('create'); $builder->add('view'); $acl->insertClassAce(new RoleSecurityIdentity('IS_AUTHENTICATED_ANONYMOUSLY'), $builder->get()); $builder->reset(); $builder->add('create'); $builder->add('view'); $acl->insertClassAce(new RoleSecurityIdentity('ROLE_USER'), $builder->get()); }