Rename SSH key store on user rename
| | |
| | | repositoryManager.updateRepositoryModel(model.name, model, false); |
| | | } |
| | | } |
| | | |
| | | // rename the user's ssh public keystore |
| | | getPublicKeyManager().renameUser(username, user.username); |
| | | } |
| | | if (!userManager.updateUserModel(username, user)) { |
| | | throw new GitBlitException("Failed to update user!"); |
| | |
| | | return null; |
| | | } |
| | | |
| | | public final void renameUser(String oldName, String newName) { |
| | | List<SshKey> keys = getKeys(oldName); |
| | | if (keys == null || keys.isEmpty()) { |
| | | return; |
| | | } |
| | | removeAllKeys(oldName); |
| | | for (SshKey key : keys) { |
| | | addKey(newName, key); |
| | | } |
| | | } |
| | | |
| | | protected abstract boolean isStale(String username); |
| | | |
| | | protected abstract List<SshKey> getKeysImpl(String username); |