/** * Retrieves the available security identities for the given token. * * @param \Symfony\Component\Security\Core\Authentication\Token\TokenInterface $token * * @return array An array of SecurityIdentityInterface implementations */ public function getSecurityIdentities(TokenInterface $token) { $sids = parent::getSecurityIdentities($token); if ($token->getUser() instanceof \BackBee\CoreDomain\Security\User) { foreach ($token->getUser()->getGroups() as $group) { $securityIdentity = new UserSecurityIdentity($group->getObjectIdentifier(), ClassUtils::getRealClass($group)); array_unshift($sids, $securityIdentity); } } return $sids; }
/** * {@inheritdoc} */ public function getSecurityIdentities(TokenInterface $token) { $sids = parent::getSecurityIdentities($token); // business unit security identities if (!$token instanceof AnonymousToken) { $user = $token->getUser(); if ($user instanceof User) { foreach ($user->getBusinessUnits() as $businessUnit) { $sids[] = BusinessUnitSecurityIdentity::fromBusinessUnit($businessUnit); } } } return $sids; }