| | |
| | |
|
| | | import com.gitblit.models.TeamModel;
|
| | | import com.gitblit.models.UserModel;
|
| | | import com.gitblit.utils.DeepCopier;
|
| | |
|
| | | /**
|
| | | * This class wraps the default user service and is recommended as the starting
|
| | |
| | | logger.info(MessageFormat.format("Automatically creating {0} based on {1}",
|
| | | usersConfig.getAbsolutePath(), realmFile.getAbsolutePath()));
|
| | | ConfigUserService configService = new ConfigUserService(usersConfig);
|
| | | for (String username : serviceImpl.getAllUsernames()) {
|
| | | UserModel userModel = serviceImpl.getUserModel(username);
|
| | | for (String username : service.getAllUsernames()) {
|
| | | UserModel userModel = service.getUserModel(username);
|
| | | configService.updateUserModel(userModel);
|
| | | }
|
| | | }
|
| | |
| | | @Override
|
| | | public String toString() {
|
| | | return getClass().getSimpleName();
|
| | | }
|
| | |
|
| | | @Override
|
| | | public boolean supportsCredentialChanges() {
|
| | | return serviceImpl.supportsCredentialChanges();
|
| | | }
|
| | |
|
| | | @Override
|
| | | public boolean supportsDisplayNameChanges() {
|
| | | return serviceImpl.supportsDisplayNameChanges();
|
| | | }
|
| | |
|
| | | @Override
|
| | | public boolean supportsEmailAddressChanges() {
|
| | | return serviceImpl.supportsEmailAddressChanges();
|
| | | }
|
| | |
|
| | | @Override
|
| | | public boolean supportsTeamMembershipChanges() {
|
| | | return serviceImpl.supportsTeamMembershipChanges();
|
| | | }
|
| | |
|
| | | @Override
|
| | |
| | | public UserModel authenticate(String username, char[] password) {
|
| | | return serviceImpl.authenticate(username, password);
|
| | | }
|
| | | |
| | | @Override
|
| | | public void logout(UserModel user) {
|
| | | serviceImpl.logout(user);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public UserModel getUserModel(String username) {
|
| | |
| | |
|
| | | @Override
|
| | | public boolean updateUserModel(String username, UserModel model) {
|
| | | return serviceImpl.updateUserModel(username, model);
|
| | | if (supportsCredentialChanges()) {
|
| | | if (!supportsTeamMembershipChanges()) {
|
| | | // teams are externally controlled - copy from original model
|
| | | UserModel existingModel = getUserModel(username);
|
| | | |
| | | model = DeepCopier.copy(model);
|
| | | model.teams.clear();
|
| | | model.teams.addAll(existingModel.teams);
|
| | | }
|
| | | return serviceImpl.updateUserModel(username, model);
|
| | | }
|
| | | if (model.username.equals(username)) {
|
| | | // passwords are not persisted by the backing user service
|
| | | model.password = null;
|
| | | if (!supportsTeamMembershipChanges()) {
|
| | | // teams are externally controlled- copy from original model
|
| | | UserModel existingModel = getUserModel(username);
|
| | | |
| | | model = DeepCopier.copy(model);
|
| | | model.teams.clear();
|
| | | model.teams.addAll(existingModel.teams);
|
| | | }
|
| | | return serviceImpl.updateUserModel(username, model);
|
| | | }
|
| | | logger.error("Users can not be renamed!");
|
| | | return false;
|
| | | }
|
| | |
|
| | | @Override
|
| | | public boolean deleteUserModel(UserModel model) {
|
| | | return serviceImpl.deleteUserModel(model);
|
| | |
| | | }
|
| | |
|
| | | @Override
|
| | | public List<UserModel> getAllUsers() {
|
| | | return serviceImpl.getAllUsers();
|
| | | }
|
| | |
|
| | | @Override
|
| | | public List<String> getAllTeamNames() {
|
| | | return serviceImpl.getAllTeamNames();
|
| | | }
|
| | |
|
| | | @Override
|
| | | public List<TeamModel> getAllTeams() {
|
| | | return serviceImpl.getAllTeams();
|
| | | }
|
| | |
|
| | | @Override
|
| | |
| | |
|
| | | @Override
|
| | | public boolean updateTeamModel(String teamname, TeamModel model) {
|
| | | if (!supportsTeamMembershipChanges()) {
|
| | | // teams are externally controlled - copy from original model
|
| | | TeamModel existingModel = getTeamModel(teamname);
|
| | | |
| | | model = DeepCopier.copy(model);
|
| | | model.users.clear();
|
| | | model.users.addAll(existingModel.users);
|
| | | }
|
| | | return serviceImpl.updateTeamModel(teamname, model);
|
| | | }
|
| | |
|