Sebastian Sdorra avatar Sebastian Sdorra committed 0067d7b

added ui for login attempt limit configuration

Comments (0)

Files changed (2)

scm-core/src/main/java/sonia/scm/config/ScmConfiguration.java

    *
    * @since 1.34
    */
+  @XmlElement(name = "login-attempt-limit-timeout")
   private long loginAttemptLimitTimeout = TimeUnit.MINUTES.toSeconds(5l);
 
   /** Field description */

scm-webapp/src/main/webapp/resources/js/config/sonia.config.scmconfigpanel.js

   errorMsgText: 'Could not load config.',
   errorSubmitMsgText: 'Could not submit config.',
   
+  // TODO i18n
+  loginAttemptLimitText: 'Login Attempt Limit',
+  loginAttemptLimitTimeoutText: 'Login Attempt Limit Timeout',
+  
   enableProxyText: 'Enable Proxy',
   proxyServerText: 'Proxy Server',
   proxyPortText: 'Proxy Port',
   adminGroupsHelpText: 'Comma seperated list of groups with admin permissions.',
   adminUsersHelpText: 'Comma seperated list of users with admin permissions.',
   
+  // TODO i18n
+  loginAttemptLimitHelpText: 'Maximum allowed login attempts. Use -1 to disable the login attempt limit.',
+  loginAttemptLimitTimeoutHelpText: 'Timeout in seconds for users which are temporary disabled,\
+                                     because of too many failed login attempts.',
+  
   enableProxyHelpText: 'Enable Proxy',
   proxyServerHelpText: 'The proxy server',
   proxyPortHelpText: 'The proxy port',
           inputValue: 'true',
           helpText: this.allowAnonymousAccessHelpText
         },{
+          xtype: 'numberfield',
+          fieldLabel: this.loginAttemptLimitText,
+          name: 'login-attempt-limit',
+          allowBlank: false,
+          helpText: this.loginAttemptLimitHelpText          
+        },{
+          xtype: 'numberfield',
+          fieldLabel: this.loginAttemptLimitTimeoutText,
+          name: 'login-attempt-limit-timeout',
+          allowBlank: false,
+          helpText: this.loginAttemptLimitTimeoutHelpText          
+        },{
           xtype: 'checkbox',
           fieldLabel: this.enableProxyText,
           name: 'enableProxy',
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.