← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 1731: STQC security: Password quality. Merge from Indian branch rev883-884

 

------------------------------------------------------------
revno: 1731
author: Viet <Viet@Viet-Laptop>
committer: Saptarshi <sunbiz@xxxxxxxxx>
branch nick: trunk
timestamp: Sun 2010-04-04 13:24:12 +0200
message:
  STQC security: Password quality. Merge from Indian branch rev883-884
modified:
  dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/util/validate/additional-methods.js
  dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/util/validate/messages_locale.js
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/ValidateUserAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/resources/org/hisp/dhis/user/i18n_module.properties
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/dhis-web-maintenance-user/addUserForm.vm
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/dhis-web-maintenance-user/updateUserForm.vm


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/util/validate/additional-methods.js'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/util/validate/additional-methods.js	2010-02-28 03:32:13 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/util/validate/additional-methods.js	2010-04-04 11:24:12 +0000
@@ -90,6 +90,10 @@
 	 return true;
 }, "");
 
+jQuery.validator.addMethod("password", function(value, element, param) {
+	return this.optional(element) || /[a-z]+/.test(value) && /\d+/.test(value);
+});
+
 /**
   * Return true, if the value is a valid date, also making this formal check dd/mm/yyyy.
   *

=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/util/validate/messages_locale.js'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/util/validate/messages_locale.js	2010-02-22 09:19:15 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/util/validate/messages_locale.js	2010-04-04 11:24:12 +0000
@@ -33,14 +33,13 @@
         ,minWords : $.validator.format("Please enter at least {0} words.")
         ,rangeWords : $.validator.format("Please enter between {0} and {1} words.")
         ,lettersonly : "Letters only please." 
-        ,decimals : "Digits/Decimal only please"
         ,nowhitespace : "No white space please"
         ,ziprange : "Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx"
-        ,unique : "Value must be unique."
         ,time : "Please enter a valid time, between 00:00 and 23:59"
         ,phone : "Please specify a valid phone number"
         ,strippedminlength : "Please enter at least {0} characters"
         ,datelessthanequaltoday: "This date can not be after today."
         ,required_group : "Please fill out at least one of these fields."
+        ,password: "Password must contain at least one capital letter and one digit"
 };
 

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/ValidateUserAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/ValidateUserAction.java	2010-01-28 15:47:24 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/ValidateUserAction.java	2010-04-04 11:24:12 +0000
@@ -62,7 +62,6 @@
     // -------------------------------------------------------------------------
     // Input
     // -------------------------------------------------------------------------
-
     private Integer id;
 
     public void setId( Integer id )
@@ -90,7 +89,7 @@
     {
         this.firstName = firstName;
     }
-    
+
     private String email;
 
     public void setEmail( String email )
@@ -115,7 +114,6 @@
     // -------------------------------------------------------------------------
     // Output
     // -------------------------------------------------------------------------
-
     private String message;
 
     public String getMessage()
@@ -126,7 +124,6 @@
     // -------------------------------------------------------------------------
     // Action implementation
     // -------------------------------------------------------------------------
-
     public String execute()
         throws Exception
     {
@@ -137,8 +134,7 @@
                 message = i18n.getString( "specify_username" );
 
                 return INPUT;
-            }
-            else
+            } else
             {
                 username = username.trim();
 
@@ -174,7 +170,22 @@
 
             return INPUT;
         }
-        
+
+        if ( id == null )
+        {
+            if ( rawPassword.trim().length() < 8 )
+            {
+                message = i18n.getString( "password_length_not_valid" );
+
+                return INPUT;
+            }
+            if ( !( rawPassword.matches( ".*\\d+.*" ) && rawPassword.matches( ".*[A-Z]+.*" ) ) )
+            {
+                message = i18n.getString( "password_is_not_valid" );
+                return INPUT;
+            }
+        }
+
         if ( id == null && ( !ValidationUtils.passwordIsValid( rawPassword ) ) )
         {
             message = i18n.getString( "password_is_not_valid" );
@@ -204,7 +215,7 @@
         if ( email != null && email.trim().length() > 0 && !ValidationUtils.emailIsValid( email ) )
         {
             message = i18n.getString( "email_is_not_valid" );
-            
+
             return INPUT;
         }
 

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/resources/org/hisp/dhis/user/i18n_module.properties'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/resources/org/hisp/dhis/user/i18n_module.properties	2010-03-31 03:07:10 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/resources/org/hisp/dhis/user/i18n_module.properties	2010-04-04 11:24:12 +0000
@@ -190,7 +190,7 @@
 filter_by_role_name = Filter by rolename
 phone_number = Phone number
 email_is_not_valid = E-mail is not valid
-password_is_not_valid = Password is not valid
+password_is_not_valid = Password is not valid. It should be at least 8 characters, and contains at least one capital letter and one digit
 select_all_in_group = Select all in group
 remove_all_in_group = Remove all in group
 organisation_units = Organisation units

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/dhis-web-maintenance-user/addUserForm.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/dhis-web-maintenance-user/addUserForm.vm	2010-03-17 14:06:28 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/dhis-web-maintenance-user/addUserForm.vm	2010-04-04 11:24:12 +0000
@@ -41,13 +41,13 @@
 	</tr>
 	<tr>
 		<td><label for="rawPassword">$i18n.getString( "password" ) <em title="$i18n.getString( "required" )" class="required">*</em></label></td>
-		<td><input type="password" id="rawPassword" name="rawPassword" style="width:20em" maxlength="50" class="{validate:{required:true,minlength:5,maxlength:50,notequalto:'#username'}}"></td>
+		<td><input type="password" id="rawPassword" name="rawPassword" style="width:20em" maxlength="50" class="{validate:{required:true,password:true,rangelength:[8,35],notequalto:'#username'}}"></td>
 		<td></td>
 		<td></td>		
 	</tr>
 	<tr>
 		<td><label for="retypePassword">$i18n.getString( "retype_password" ) <em title="$i18n.getString( "required" )" class="required">*</em></label></td>
-		<td><input type="password" id="retypePassword" name="retypePassword" style="width:20em" maxlength="50" class="{validate:{required:true,minlength:5,maxlength:50,equalTo:'#rawPassword'}}"></td>
+		<td><input type="password" id="retypePassword" name="retypePassword" style="width:20em" maxlength="50" class="{validate:{required:true,rangelength:[8,35],equalTo:'#rawPassword'}}"></td>
 		<td></td>
 		<td></td>		
 	</tr>

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/dhis-web-maintenance-user/updateUserForm.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/dhis-web-maintenance-user/updateUserForm.vm	2010-03-19 16:20:33 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/dhis-web-maintenance-user/updateUserForm.vm	2010-04-04 11:24:12 +0000
@@ -46,13 +46,13 @@
 	</tr>
 	<tr>
 		<td><label for="rawPassword">$i18n.getString( "password" )</label></td>
-		<td><input type="password" id="rawPassword" name="rawPassword" style="width:20em" maxlength="50" class="{validate:{minlength:5,maxlength:50,notequalto:'#username'}}"></td>
+		<td><input type="password" id="rawPassword" name="rawPassword" style="width:20em" maxlength="50" class="{validate:{rangelength:[8,35],password:true,notequalto:'#username'}}"></td>
 		<td></td>
 		<td></td>		
 	</tr>
 	<tr>
 		<td><label for="retypePassword">$i18n.getString( "retype_password" ) </label></td>
-		<td><input type="password" id="retypePassword" name="retypePassword" style="width:20em" maxlength="50" class="{validate:{minlength:5,maxlength:50,equalTo:'#rawPassword'}}"></td>
+		<td><input type="password" id="retypePassword" name="retypePassword" style="width:20em" maxlength="50" class="{validate:{rangelength:[8,35],equalTo:'#rawPassword'}}"></td>
 		<td></td>
 		<td></td>		
 	</tr>