示例#1
0
 /**
  * @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);
     }
 }
示例#2
0
 /**
  * @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);
     }
 }