与Symfony2权限相关的语句在官方文档上不是很全,每次要用到时查找起来十分费劲,所以在这里列出与Symfony2权限相关的语句,以备查:
-
-
-
-
- $securityIdentity = UserSecurityIdentity::fromAccount($user);
-
- $securityIdentity = new RoleSecurityIdentity($role->getRole());
-
-
-
-
-
- $objectIdentity = ObjectIdentity::fromDomainObject($comment);
-
- $objectIdentity = new ObjectIdentity('some_identifier', 'Class\FQCN');
-
-
-
-
- $acl = $aclProvider->createAcl($objectIdentity);
-
- $acl->insertObjectAce($securityIdentity, MaskBuilder::MASK_OWNER);
-
- $acl->insertClassAce($securityIdentity, MaskBuilder::MASK_CREATE);
- $aclProvider->updateAcl($acl);
-
-
-
-
- $securityContext = $this->get('security.context');
- $securityContext->isGranted('CREATE', $classIdentity);
- $securityContext->isGranted('VIEW', $classIdentity);
- $securityContext->isGranted('DELETE', $classIdentity);
-
-
-
-
-
-
- $acl->insertObjectAce(SecurityIdentityInterface $sid, $mask, $index = 0, $granting = true, $strategy = null) ;
-
- $acl->insertObjectFieldAce($field, SecurityIdentityInterface $sid, $mask, $index = 0, $granting = true, $strategy = null) ;
-
- $acl->insertClassAce(SecurityIdentityInterface $sid, $mask, $index = 0, $granting = true, $strategy = null) ;
-
- $acl->insertClassFieldAce($field, SecurityIdentityInterface $sid, $mask, $index = 0, $granting = true, $strategy = null) ;
-
-
- $acl->deleteObjectAce($index) ;
- $acl->deleteObjectFieldAce($index, $field);
- $acl->deleteClassAce($index) ;
- $acl->deleteClassFieldAce($index, $field);
-
-
- $acl->updateObjectAce($index, $mask, $strategy = null) ;
- $acl->updateObjectFieldAce($index, $field, $mask, $strategy = null) ;
- $acl->updateClassAce($index, $mask, $strategy = null) ;
- $acl->updateClassFieldAce($index, $field, $mask, $strategy = null) ;
-
-
- $acl->getObjectAces() ;
- $acl->getObjectFieldAces($field) ;
- $acl->getClassAces() ;
- $acl->getClassFieldAces($field) ;
本文转自 firehare 51CTO博客,原文链接:http://blog.51cto.com/firehare/767785,如需转载请自行联系原作者