Skip to content
Snippets Groups Projects
Commit 64c979b8 authored by uhensler's avatar uhensler
Browse files

OO-4301: Existing OpenOlat user should be merged with Shibboleth user by username

parent e7ca6015
No related branches found
No related tags found
No related merge requests found
......@@ -205,7 +205,7 @@ public class OLATAuthManager implements AuthenticationSPI {
}
public SyntaxValidator createUsernameSytaxValidator() {
return new SyntaxValidator(usernameRulesFactory.createRules(), false);
return new SyntaxValidator(usernameRulesFactory.createRules(true), false);
}
......
......@@ -39,11 +39,13 @@ public class UsernameValidationRulesFactory {
@Autowired
private LoginModule loginModule;
public ValidationRulesProvider createRules() {
public ValidationRulesProvider createRules(boolean checkUsernameExists) {
ValidationRulesProviderBuilder providerBuilder = new ValidationRulesProviderBuilder();
providerBuilder.add(createUsernameSyntaxRule());
providerBuilder.add(createBlackListRule());
providerBuilder.add(createUsernameExistsRule());
if (checkUsernameExists) {
providerBuilder.add(createUsernameExistsRule());
}
return providerBuilder.create();
}
......
......@@ -35,8 +35,8 @@ import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl;
import org.olat.core.util.StringHelper;
import org.olat.core.util.Util;
import org.olat.login.auth.OLATAuthManager;
import org.olat.login.validation.SyntaxValidator;
import org.olat.login.validation.UsernameValidationRulesFactory;
import org.olat.login.validation.ValidationResult;
import org.olat.user.ChangePasswordForm;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -58,13 +58,13 @@ public class ShibbolethRegistrationForm extends FormBasicController {
private final SyntaxValidator usernameSyntaxValidator;
@Autowired
private OLATAuthManager olatAuthManager;
private UsernameValidationRulesFactory usernameRulesFactory;
public ShibbolethRegistrationForm(UserRequest ureq, WindowControl wControl, String proposedUsername) {
super(ureq, wControl);
setTranslator(Util.createPackageTranslator(ChangePasswordForm.class, ureq.getLocale(), getTranslator()));
this.proposedUsername = proposedUsername;
this.usernameSyntaxValidator = olatAuthManager.createUsernameSytaxValidator();
this.usernameSyntaxValidator = new SyntaxValidator(usernameRulesFactory.createRules(false), false);
initForm(ureq);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment