/** * @param array $authorizationRoles * @param UserInterface $user */ protected function assignAuthorizationRoles(UserInterface $user, array $authorizationRoles = array()) { foreach ($authorizationRoles as $role) { try { $authorizationRole = $this->findOneByName('role', $role); } catch (\InvalidArgumentException $exception) { $authorizationRole = $this->createAuthorizationRole($role); $this->getEntityManager()->persist($authorizationRole); } $user->addAuthorizationRole($authorizationRole); } }
/** * @param UserInterface $user * @param string $role * @param string $authorizationRole */ private function addUserRole(UserInterface $user, $role, $authorizationRole) { $user->addRole($role); /** @var RoleInterface $adminRole */ $adminRole = $this->roleRepository->findOneBy(['code' => $authorizationRole]); if (null !== $adminRole) { $user->addAuthorizationRole($adminRole); } }