Я использую Symfony добавления, и я заметил, что когда класс ACL создан для первого раза, acl_object_identities также создается с object_identifier = классомSymfony 2 Acls insertClassAces
Но если вставить туз class, (acl_entries), object_identity_id установлен в NULL. Интересно, почему ранее не созданная acl_object_identity не используется?
стол acl_class: 6 XXXXXXXX/MyClass
таблица acl_object_identities 63 NULL, 6 класс 1
таблица acl_entries 199 6 NULL, NULL 1 3 1073741823 1 все 0 0
should'nt быть это ? 199 6 63 1 NULL 3 1073741823 1 все 0 0
Я не понимаю, почему класс объектной идентичности создан и не используется с записями классов.
Это мой код, может быть, есть что-то не так:
//find or create acl
$classIdentity = new ObjectIdentity('class', ClassUtils::getRealClass($class));
$aclProvider = $this->getService('security.acl.provider');
try {
$acl = $aclProvider->findAcl($classIdentity);
} catch (AclNotFoundException $e) {
$acl = $aclProvider->createAcl($classIdentity);
}
//insert class aces
$maskBuilder = new MaskBuilder(128);
$securityId = new RoleSecurityIdentity('ROLE_ADMIN');
$acl->insertClassAce($securityId, $maskBuilder->get());
$aclProvider->updateAcl($acl);
Благодаря