Skip to content
Snippets Groups Projects
Commit d6cdba6f authored by srosse's avatar srosse
Browse files

OO-3911: hide OpenMeetings password after validation and check

parent b04fea2f
No related branches found
No related tags found
No related merge requests found
...@@ -192,7 +192,7 @@ public class OpenMeetingsModule extends AbstractSpringModule implements ConfigO ...@@ -192,7 +192,7 @@ public class OpenMeetingsModule extends AbstractSpringModule implements ConfigO
} }
public void setAdminPassword(String adminPassword) { public void setAdminPassword(String adminPassword) {
setStringProperty(ADMIN_PASSWORD, adminPassword, true); setSecretStringProperty(ADMIN_PASSWORD, adminPassword, true);
} }
} }
...@@ -63,6 +63,8 @@ public class OpenMeetingsConfigurationController extends FormBasicController { ...@@ -63,6 +63,8 @@ public class OpenMeetingsConfigurationController extends FormBasicController {
private static final String[] enabledKeys = new String[]{"on"}; private static final String[] enabledKeys = new String[]{"on"};
private String[] enabledValues; private String[] enabledValues;
private String replacedValue;
@Autowired @Autowired
private OpenMeetingsModule openMeetingsModule; private OpenMeetingsModule openMeetingsModule;
@Autowired @Autowired
...@@ -97,11 +99,12 @@ public class OpenMeetingsConfigurationController extends FormBasicController { ...@@ -97,11 +99,12 @@ public class OpenMeetingsConfigurationController extends FormBasicController {
urlEl.setDisplaySize(60); urlEl.setDisplaySize(60);
String login = openMeetingsModule.getAdminLogin(); String login = openMeetingsModule.getAdminLogin();
loginEl = uifactory.addTextElement("openmeetings-login", "option.adminlogin", 32, login, moduleFlc); loginEl = uifactory.addTextElement("openmeetings-login", "option.adminlogin", 32, login, moduleFlc);
String password = openMeetingsModule.getAdminPassword(); String credential = openMeetingsModule.getAdminPassword();
if(StringHelper.containsNonWhitespace(password)) { if(StringHelper.containsNonWhitespace(credential)) {
password = PLACEHOLDER; replacedValue = credential;
credential = PLACEHOLDER;
} }
passwordEl = uifactory.addPasswordElement("openmeetings-password", "option.adminpassword", 32, password, moduleFlc); passwordEl = uifactory.addPasswordElement("openmeetings-password", "option.adminpassword", 32, credential, moduleFlc);
passwordEl.setAutocomplete("new-password"); passwordEl.setAutocomplete("new-password");
String externalType = openMeetingsManager.getOpenOLATExternalType(); String externalType = openMeetingsManager.getOpenOLATExternalType();
...@@ -129,9 +132,12 @@ public class OpenMeetingsConfigurationController extends FormBasicController { ...@@ -129,9 +132,12 @@ public class OpenMeetingsConfigurationController extends FormBasicController {
String login = loginEl.getValue(); String login = loginEl.getValue();
openMeetingsModule.setAdminLogin(login); openMeetingsModule.setAdminLogin(login);
String password = passwordEl.getValue(); String credential = passwordEl.getValue();
if(!PLACEHOLDER.equals(password)) { if(!PLACEHOLDER.equals(credential)) {
openMeetingsModule.setAdminPassword(password); openMeetingsModule.setAdminPassword(credential);
passwordEl.setValue(PLACEHOLDER);
} else if(StringHelper.containsNonWhitespace(replacedValue)) {
openMeetingsModule.setAdminPassword(replacedValue);
} }
} catch (URISyntaxException e) { } catch (URISyntaxException e) {
logError("", e); logError("", e);
...@@ -151,12 +157,20 @@ public class OpenMeetingsConfigurationController extends FormBasicController { ...@@ -151,12 +157,20 @@ public class OpenMeetingsConfigurationController extends FormBasicController {
allOk &= validateURL(); allOk &= validateURL();
try { try {
String password = passwordEl.getValue(); String credential = passwordEl.getValue();
if(PLACEHOLDER.equals(password)) { if(PLACEHOLDER.equals(credential)) {
password = openMeetingsModule.getAdminPassword(); if(StringHelper.containsNonWhitespace(replacedValue)) {
credential = replacedValue;
} else {
credential = openMeetingsModule.getAdminPassword();
}
} else {
replacedValue = credential;
passwordEl.setValue(PLACEHOLDER);
} }
boolean ok = openMeetingsManager.checkConnection(urlEl.getValue(), loginEl.getValue(), password); boolean ok = openMeetingsManager.checkConnection(urlEl.getValue(), loginEl.getValue(), credential);
if(!ok) { if(!ok) {
passwordEl.setValue("");
urlEl.setErrorKey("error.customerDoesntExist", null); urlEl.setErrorKey("error.customerDoesntExist", null);
allOk = false; allOk = false;
} }
...@@ -222,13 +236,20 @@ public class OpenMeetingsConfigurationController extends FormBasicController { ...@@ -222,13 +236,20 @@ public class OpenMeetingsConfigurationController extends FormBasicController {
protected boolean checkConnection() { protected boolean checkConnection() {
String url = urlEl.getValue(); String url = urlEl.getValue();
String login = loginEl.getValue(); String login = loginEl.getValue();
String password = passwordEl.getValue(); String credential = passwordEl.getValue();
if(PLACEHOLDER.equals(password)) { if(PLACEHOLDER.equals(credential)) {
password = openMeetingsModule.getAdminPassword(); if(StringHelper.containsNonWhitespace(replacedValue)) {
credential = replacedValue;
} else {
credential = openMeetingsModule.getAdminPassword();
}
} else {
replacedValue = credential;
passwordEl.setValue(PLACEHOLDER);
} }
try { try {
boolean ok = openMeetingsManager.checkConnection(url, login, password); boolean ok = openMeetingsManager.checkConnection(url, login, credential);
if(ok) { if(ok) {
showInfo("check.ok"); showInfo("check.ok");
} else { } else {
......
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