diff --git a/src/ZfcRbac/Collector/RbacCollector.php b/src/ZfcRbac/Collector/RbacCollector.php index fec13e62..4ca83a61 100644 --- a/src/ZfcRbac/Collector/RbacCollector.php +++ b/src/ZfcRbac/Collector/RbacCollector.php @@ -65,9 +65,11 @@ public function collect(MvcEvent $mvcEvent) $this->collectedOptions = $rbacConfig; $identityProvider = $sm->get($rbacConfig['identity_provider']); $rbacService = $sm->get('ZfcRbac\Service\Rbac'); - if (method_exists($identityProvider, 'getIdentity')) { - $identity = $identityProvider->getIdentity(); - $this->collectedRoles = $identity->getRoles(); + if (method_exists($identityProvider, 'getIdentity') && method_exists($identityProvider, 'hasIdentity')) { + if ($identityProvider->hasIdentity()) { + $identity = $identityProvider->getIdentity(); + $this->collectedRoles = $identity->getRoles(); + } } else { $rbac = $rbacService->getRbac(); $roles = array();