/** * Returns TRUE if access is granted on the given privilege target in the current security context * or if set based on the override decision value. * * @param string $privilegeTargetIdentifier The identifier of the privilege target to decide on * @param array $privilegeParameters Optional array of privilege parameters (simple key => value array) * @return boolean TRUE if access is granted, FALSE otherwise */ public function isPrivilegeTargetGranted($privilegeTargetIdentifier, array $privilegeParameters = array()) { if ($this->overrideDecision === false) { return false; } elseif ($this->overrideDecision === true) { return true; } return parent::isPrivilegeTargetGranted($privilegeTargetIdentifier, $privilegeParameters); }
/** * Returns TRUE if access is granted on the given privilege target in the current security context * or if set based on the override decision value. * * @param string $privilegeTargetIdentifier The identifier of the privilege target to decide on * @param array $privilegeParameters Optional array of privilege parameters (simple key => value array) * @return boolean TRUE if access is granted, FALSE otherwise */ public function isPrivilegeTargetGranted($privilegeTargetIdentifier, array $privilegeParameters = array()) { if ($this->overrideDecision === FALSE) { return FALSE; } elseif ($this->overrideDecision === TRUE) { return TRUE; } return parent::isPrivilegeTargetGranted($privilegeTargetIdentifier, $privilegeParameters); }
/** * @test */ public function isPrivilegeTargetGrantedReturnsTrueIfThereIsNoDenyVoteAndOneGrantVote() { $mockRole1 = $this->getMockBuilder(\TYPO3\Flow\Security\Policy\Role::class)->disableOriginalConstructor()->getMock(); $mockRole1->expects($this->any())->method('getPrivilegeForTarget')->will($this->returnValue($this->abstainPrivilege)); $mockRole2 = $this->getMockBuilder(\TYPO3\Flow\Security\Policy\Role::class)->disableOriginalConstructor()->getMock(); $mockRole2->expects($this->any())->method('getPrivilegeForTarget')->will($this->returnValue($this->grantPrivilege)); $mockRole3 = $this->getMockBuilder(\TYPO3\Flow\Security\Policy\Role::class)->disableOriginalConstructor()->getMock(); $mockRole3->expects($this->any())->method('getPrivilegeForTarget')->will($this->returnValue($this->abstainPrivilege)); $this->mockSecurityContext->expects($this->any())->method('getRoles')->will($this->returnValue(array($mockRole1, $mockRole2, $mockRole3))); $this->assertTrue($this->privilegeManager->isPrivilegeTargetGranted('somePrivilegeTargetIdentifier')); }