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);
                }

Reply via email to