Neos\ContentRepository\Domain\Model\NodeData::isAccessible PHP Метод

isAccessible() публичный Метод

Tells if this node may be accessed according to the current security context.
public isAccessible ( ) : boolean
Результат boolean
    public function isAccessible()
    {
        if ($this->hasAccessRestrictions() === false) {
            return true;
        }
        if ($this->securityContext->canBeInitialized() === false) {
            return true;
        }
        foreach ($this->accessRoles as $roleName) {
            if ($this->securityContext->hasRole($roleName)) {
                return true;
            }
        }
        return false;
    }

Usage Example

 /**
  * @test
  */
 public function isAccessibleReturnsTrueIfRoleIsEveryone()
 {
     /** @var SecurityContext|\PHPUnit_Framework_MockObject_MockObject $mockSecurityContext */
     $mockSecurityContext = $this->createMock(SecurityContext::class);
     $mockSecurityContext->expects($this->at(0))->method('canBeInitialized')->will($this->returnValue(true));
     $mockSecurityContext->expects($this->at(1))->method('hasRole')->with('SomeRole')->will($this->returnValue(false));
     $mockSecurityContext->expects($this->at(2))->method('hasRole')->with('Everyone')->will($this->returnValue(true));
     $this->inject($this->nodeData, 'securityContext', $mockSecurityContext);
     $this->nodeData->setAccessRoles(array('SomeRole', 'Everyone', 'SomeOtherRole'));
     $this->assertTrue($this->nodeData->isAccessible());
 }
All Usage Examples Of Neos\ContentRepository\Domain\Model\NodeData::isAccessible