public function generateUsers() { $user_1 = new PFUser(); $user_1->setUserName(self::TEST_USER_1_NAME); $user_1->setRealName(self::TEST_USER_1_REALNAME); $user_1->setLdapId(self::TEST_USER_1_LDAPID); $user_1->setPassword(self::TEST_USER_1_PASS); $user_1->setStatus(self::TEST_USER_1_STATUS); $user_1->setEmail(self::TEST_USER_1_EMAIL); $user_1->setLanguage($GLOBALS['Language']); $this->user_manager->createAccount($user_1); $user_1->setLabFeatures(true); $user_2 = new PFUser(); $user_2->setUserName(self::TEST_USER_2_NAME); $user_2->setPassword(self::TEST_USER_2_PASS); $user_2->setStatus(self::TEST_USER_2_STATUS); $user_2->setEmail(self::TEST_USER_2_EMAIL); $user_2->setLanguage($GLOBALS['Language']); $user_2->setAuthorizedKeys('ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHk9 toto@marche'); $this->user_manager->createAccount($user_2); $user_3 = new PFUser(); $user_3->setUserName(self::TEST_USER_3_NAME); $user_3->setPassword(self::TEST_USER_3_PASS); $user_3->setStatus(self::TEST_USER_3_STATUS); $user_3->setEmail(self::TEST_USER_3_EMAIL); $user_3->setLanguage($GLOBALS['Language']); $this->user_manager->createAccount($user_3); $user_4 = new PFUser(); $user_4->setUserName(self::TEST_USER_4_NAME); $user_4->setPassword(self::TEST_USER_4_PASS); $user_4->setStatus(self::TEST_USER_4_STATUS); $user_4->setEmail(self::TEST_USER_1_EMAIL); $user_4->setLanguage($GLOBALS['Language']); $this->user_manager->createAccount($user_4); return $this; }
private function getKeysFromString($keys_as_string) { $user = new PFUser(); $user->setAuthorizedKeys($keys_as_string); return array_filter($user->getAuthorizedKeysArray()); }
/** * Update ssh keys for a user * * Should probably be merged with updateDb but I don't know the impact of * validating keys each time we update a user * * @param PFUser $user * @param String $keys */ public function updateUserSSHKeys(PFUser $user, array $keys) { $original_authorised_keys = $user->getAuthorizedKeysRaw(); $user->setAuthorizedKeys(implode(PFUser::SSH_KEY_SEPARATOR, $keys)); if ($this->updateDb($user)) { $GLOBALS['Response']->addFeedback('info', $GLOBALS['Language']->getText('account_editsshkeys', 'update_filesystem')); $event_parameters = array('user_id' => $user->getId(), 'original_keys' => $original_authorised_keys); $this->_getEventManager()->processEvent(Event::EDIT_SSH_KEYS, $event_parameters); } }
public function itRemovesSelectedSSHKeys() { $user_ssh_keys = 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7pihW/WsGL8Pmk89ET/x1GTa646GWs/7DHujgxfP4ZH7mt6ta+KwH2tsEj5ESS19EIYG4hQYpckpd65fgihs7SrwLEVG3yO1gZSS+4bBfGaR/zQoFRNlJHiKh9vrr3AZZxCUUM4xpMi2wT4hBlr8lgYaxCQZpgXRqI6CSUSAVDM7e6Ct4zItmp7VqFLHTv7pljeIF+VTyoDWfMSaIBbDmmnZctR9hR3ywSmokvA9iN4a5bWjeXlIQdpjcjqapolvlo2XamN7HRTfxWefFceoVX3yVjTZ7DFkbHJdqwBMIQmAMbG633dx67dQLgeAKfWu/tGbCnalnzzeuMvU9b4oF comment1' . PFUser::SSH_KEY_SEPARATOR . $this->an_ssh_key; $ssh_keys_to_delete_index = array(0); $this->user->setAuthorizedKeys($user_ssh_keys); expect($this->user_manager)->updateUserSSHKeys($this->user, array($this->an_ssh_key))->once(); $this->user_manager->deleteSSHKeys($this->user, $ssh_keys_to_delete_index); }