/** * Hydrates an user entity with ldap attributes. * * @param UserInterface $user user to hydrate * @param array $entry ldap result * * @return UserInterface */ protected function hydrate(UserInterface $user, array $entry) { $user->setPassword(''); if ($user instanceof AdvancedUserInterface) { $user->setEnabled(true); } foreach ($this->params['attributes'] as $attr) { if (!array_key_exists($attr['ldap_attr'], $entry)) { continue; } $ldapValue = $entry[$attr['ldap_attr']]; $value = null; if (!array_key_exists('count', $ldapValue) || $ldapValue['count'] == 1) { $value = $ldapValue[0]; } else { $value = array_slice($ldapValue, 1); } call_user_func(array($user, $attr['user_method']), $value); } if ($user instanceof LdapUserInterface) { $user->setDn($entry['dn']); } if ($user instanceof LdapUserRoleInterface && count($this->params['role'])) { $this->addRoles($user, $entry); } }
public function setUserPassword(UserInterface $user) { if (0 !== strlen($password = $user->getPlainPassword())) { $user->setPassword($user->getPlainPassword() . $this->getSalt()); $encoder = $this->getEncoderFactory()->getEncoder($user); $user->setPassword($encoder->encodePassword($password, $user->getSalt())); $user->eraseCredentials(); } }
/** * Changes the password of a user. * * @param UserInterface $user * @param string $password * * @throws MissingPasswordException */ private function changePassword(UserInterface $user, $password) { if ($password === '') { throw new MissingPasswordException(); } $em = $this->getDoctrine()->getManager(); $user->setPassword($this->encodePassword($user, $password, $user->getSalt())); $em->persist($user); $em->flush(); }
/** * Sets the standard credentials for the user. * * @param UserInterface $user */ private function setCredentials(UserInterface $user) { $user->setUsername('test'); $user->setPassword('test'); $user->setSalt(''); }
/** * creates user profile based on got values * @param \Symfony\Component\Security\Core\User\UserInterface $user * @param array $profile */ protected function createProfile(UserInterface $user, array $profile) { $user->setEnabled(true); $user->setPassword(''); $username = strtolower(trim($profile['preferredUsername'], '_')); $user->setUsername($username); $user->setSocialIdentifier($profile['identifier']); if (method_exists($user, 'setEmail') && @$profile['email']) { $user->setEmail($profile['email']); } // use givenName and familyName if provided $name = @$profile['name']; if (is_array($name)) { if (method_exists($user, 'setFirstName') && array_key_exists('givenName', $name) && $name['givenName']) { $user->setFirstName($name['givenName']); } if (method_exists($user, 'setLastName') && array_key_exists('familyName', $name) && $name['familyName']) { $user->setLastName($name['familyName']); } } // fill first name as displayName if (method_exists($user, 'setFirstName') && !$user->getFirstName()) { $user->setFirstName($profile['displayName']); } }