Repository: openmeetings Updated Branches: refs/heads/3.3.x c9204ee86 -> 479db6c58
no jira: random timeout should be added on unsuccessful login Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/479db6c5 Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/479db6c5 Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/479db6c5 Branch: refs/heads/3.3.x Commit: 479db6c584f78a3b1cc17379e9ba4c03046dba87 Parents: c9204ee Author: Maxim Solodovnik <[email protected]> Authored: Sat May 20 13:49:34 2017 +0700 Committer: Maxim Solodovnik <[email protected]> Committed: Sat May 20 13:49:34 2017 +0700 ---------------------------------------------------------------------- .../web/pages/auth/RegisterDialog.java | 19 +++++++++++++++++- .../web/pages/auth/SignInDialog.java | 21 +++++++++++++++++++- 2 files changed, 38 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/openmeetings/blob/479db6c5/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 9f793c0..2095511 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 @@ -28,6 +28,7 @@ import static org.apache.wicket.validation.validator.StringValidator.minimumLeng import java.util.Arrays; import java.util.List; +import java.util.Random; import java.util.TimeZone; import java.util.UUID; @@ -66,10 +67,18 @@ public class RegisterDialog extends NonClosableDialog<String> { private static final long serialVersionUID = 1L; private static final Logger log = Red5LoggerFactory.getLogger(RegisterDialog.class, webAppRootKey); private DialogButton cancelBtn = new DialogButton("cancel", Application.getString(122)); - private DialogButton registerBtn = new DialogButton("register", Application.getString(121)); + private DialogButton registerBtn = new DialogButton("register", Application.getString(121)) { + private static final long serialVersionUID = 1L; + + @Override + public boolean isIndicating() { + return true; + } + }; private final KendoFeedbackPanel feedback = new KendoFeedbackPanel("feedback", new Options("button", true)); private final IModel<String> tzModel = Model.of(WebSession.get().getClientTZCode()); private final DropDownChoice<String> tzDropDown = new DropDownChoice<>("tz", tzModel, AVAILABLE_TIMEZONES); + private final Random rnd = new Random(); private RegisterForm form; private SignInDialog s; private String firstName; @@ -262,6 +271,14 @@ public class RegisterDialog extends NonClosableDialog<String> { if (!getBean(UserDao.class).checkLogin(loginField.getConvertedInput(), User.Type.user, null, null)) { error(getString("105")); } + if (hasErrorMessage()) { + // add random timeout + try { + Thread.sleep(rnd.nextInt(10) * 1000); + } catch (InterruptedException e) { + log.error("Unexpected exception while sleeting", e); + } + } } } } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/479db6c5/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java index ecfbb78..28a3953 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java @@ -19,6 +19,7 @@ package org.apache.openmeetings.web.pages.auth; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LDAP_ID; +import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; import static org.apache.openmeetings.web.app.Application.getAuthenticationStrategy; import static org.apache.openmeetings.web.app.Application.getBean; import static org.apache.openmeetings.web.pages.auth.SignInPage.allowOAuthLogin; @@ -28,6 +29,7 @@ import static org.apache.openmeetings.web.room.SwfPanel.SWF_TYPE_NETWORK; import java.util.ArrayList; import java.util.List; +import java.util.Random; import org.apache.openmeetings.db.dao.basic.ConfigurationDao; import org.apache.openmeetings.db.dao.basic.ErrorDao; @@ -68,6 +70,8 @@ import org.apache.wicket.model.Model; import org.apache.wicket.model.PropertyModel; import org.apache.wicket.request.mapper.parameter.PageParameters; import org.apache.wicket.util.string.Strings; +import org.red5.logging.Red5LoggerFactory; +import org.slf4j.Logger; import com.googlecode.wicket.jquery.core.JQueryBehavior; import com.googlecode.wicket.jquery.core.Options; @@ -78,8 +82,16 @@ import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel; public class SignInDialog extends NonClosableDialog<String> { private static final long serialVersionUID = 1L; + private static final Logger log = Red5LoggerFactory.getLogger(SignInDialog.class, webAppRootKey); private Form<String> form; - private DialogButton loginBtn = new DialogButton("login", Application.getString(112)); + private DialogButton loginBtn = new DialogButton("login", Application.getString(112)) { + private static final long serialVersionUID = 1L; + + @Override + public boolean isIndicating() { + return true; + } + }; private DialogButton registerBtn = new DialogButton("register", Application.getString(123)); private String password; private String login; @@ -88,6 +100,7 @@ public class SignInDialog extends NonClosableDialog<String> { private ForgetPasswordDialog f; private LdapConfig domain; private final KendoFeedbackPanel feedback = new KendoFeedbackPanel("feedback", new Options("button", true)); + private final Random rnd = new Random(); public SignInDialog(String id) { super(id, Application.getString(108)); @@ -191,6 +204,12 @@ public class SignInDialog extends NonClosableDialog<String> { error(getString("335")); target.add(feedback); } + // add random timeout + try { + Thread.sleep((6 + rnd.nextInt(10)) * 1000); + } catch (InterruptedException e) { + log.error("Unexpected exception while sleeting", e); + } strategy.remove(); shake(target); }
