Repository: openmeetings Updated Branches: refs/heads/3.3.x 5e15ba590 -> e201ec25f
[OPENMEETINGS-1697] strong password is enforced during self registration Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/e201ec25 Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/e201ec25 Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/e201ec25 Branch: refs/heads/3.3.x Commit: e201ec25f6f5fc9facb0cb3629c981a6f872310b Parents: 5e15ba5 Author: Maxim Solodovnik <[email protected]> Authored: Mon Sep 11 13:13:05 2017 +0700 Committer: Maxim Solodovnik <[email protected]> Committed: Mon Sep 11 13:15:34 2017 +0700 ---------------------------------------------------------------------- .../web/pages/auth/RegisterDialog.html | 2 +- .../web/pages/auth/RegisterDialog.java | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/openmeetings/blob/e201ec25/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.html ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.html index 6a9a65f..d536bae 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.html +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.html @@ -44,7 +44,7 @@ </td> </tr> </table> - <span wicket:id="feedback"></span> + <span wicket:id="feedback" class="error"></span> <input type="submit" wicket:id="submit" class="invisible-form-component"/> </form> <div wicket:id="confirmRegistration"></div> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/e201ec25/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java index 98ed964..2b80f5f 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java @@ -30,9 +30,11 @@ import java.util.List; import java.util.TimeZone; import java.util.UUID; +import org.apache.openmeetings.core.util.StrongPasswordValidator; import org.apache.openmeetings.db.dao.basic.ConfigurationDao; import org.apache.openmeetings.db.dao.user.IUserManager; import org.apache.openmeetings.db.dao.user.UserDao; +import org.apache.openmeetings.db.entity.user.Address; import org.apache.openmeetings.db.entity.user.User; import org.apache.openmeetings.web.app.Application; import org.apache.openmeetings.web.app.WebSession; @@ -51,6 +53,7 @@ import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; import org.apache.wicket.model.PropertyModel; import org.apache.wicket.util.string.Strings; +import org.apache.wicket.validation.IValidatable; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; @@ -230,7 +233,19 @@ public class RegisterDialog extends NonClosableDialog<String> { firstNameField.setLabel(Model.of(getString("117"))); lastNameField.setLabel(Model.of(getString("118"))); loginField.add(minimumLength(getMinLoginLength(cfgDao))).setLabel(Model.of(getString("114"))); - passwordField.setResetPassword(true).add(minimumLength(getMinPasswdLength(cfgDao))).setLabel(Model.of(getString("115"))); + passwordField.setResetPassword(true).add(new StrongPasswordValidator(getMinPasswdLength(cfgDao), new User()) { + private static final long serialVersionUID = 1L; + + @Override + public void validate(IValidatable<String> pass) { + User u = new User(); + u.setLogin(loginField.getRawInput()); + u.setAddress(new Address()); + u.getAddress().setEmail(emailField.getRawInput()); + setUser(u); + super.validate(pass); + } + }).setLabel(Model.of(getString("110"))); confirmPassword.setLabel(Model.of(getString("116"))); emailField.add(RfcCompliantEmailAddressValidator.getInstance()).setLabel(Model.of(getString("119"))); add(new AjaxButton("submit") { // FAKE button so "submit-on-enter" works as expected
