Changeset 26233
- Timestamp:
- 2012-09-22T17:07:43+12:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/service/Authentication.java
r26206 r26233 3 3 import java.io.File; 4 4 import java.io.Serializable; 5 import java.io.UnsupportedEncodingException; 5 6 import java.math.BigInteger; 6 7 import java.security.MessageDigest; … … 11 12 import java.util.Vector; 12 13 import java.util.regex.Pattern; 14 15 import java.util.Properties; 16 import javax.mail.Message; 17 import javax.mail.MessagingException; 18 import javax.mail.Session; 19 import javax.mail.Transport; 20 import javax.mail.internet.AddressException; 21 import javax.mail.internet.InternetAddress; 22 import javax.mail.internet.MimeMessage; 13 23 14 24 import net.tanesha.recaptcha.ReCaptchaImpl; … … 105 115 protected static final String PERFORM_ACCOUNT_EDIT = "PerformAccEdit"; 106 116 protected static final String PERFORM_RESET_PASSWORD = "PerformResetPassword"; 117 protected static final String PERFORM_CHANGE_PASSWORD = "PerformChangePassword"; 118 protected static final String PERFORM_RETRIEVE_PASSWORD = "PerformRetrievePassword"; 107 119 protected static final ArrayList<String> _userOpList; 108 120 static … … 610 622 } 611 623 624 addUserInformationToNode(null, serviceNode); 625 serviceNode.setAttribute("operation", LIST_USERS); 626 } 627 else if (op.equals(PERFORM_RETRIEVE_PASSWORD)) 628 { 629 630 } 631 else if (op.equals(PERFORM_CHANGE_PASSWORD)) 632 { 633 String user_name = (String) paramMap.get("username"); 634 String oldPassword = (String) paramMap.get("oldPassword"); 635 String newPassword = (String) paramMap.get("newPassword"); 636 if (user_name==null || oldPassword==null || newPassword==null) 637 { 638 GSXML.addError(this.doc, result, _errorMessageMap.get("missing compulsory parameters: username, oldPassword, or newPassword")); 639 return result; 640 } 641 642 String prevPassword = retrieveDataForUser(user_name, "password"); 643 644 oldPassword = hashPassword(oldPassword); 645 if (!oldPassword.equals(prevPassword)) 646 { 647 addUserInformationToNode(user_name, serviceNode); 648 serviceNode.setAttribute("operation", PERFORM_CHANGE_PASSWORD); 649 GSXML.addError(this.doc, result, _errorMessageMap.get(ERROR_INCORRECT_PASSWORD), "Incorrect Password"); 650 return result; 651 } 652 653 //Check the given password 654 int error; 655 if ((error = checkPassword(newPassword)) != NO_ERROR) 656 { 657 GSXML.addError(this.doc, result, _errorMessageMap.get(error)); 658 return result; 659 } 660 661 newPassword = hashPassword(newPassword); 662 663 //Get the info of the given user, except for password 664 String prevGroups = retrieveDataForUser(user_name, "groups"); 665 String prevStatus = retrieveDataForUser(user_name, "status"); 666 String comment = "password_changed_by_user"; 667 String prevEmail = retrieveDataForUser(user_name, "email"); 668 669 error = removeUser(user_name); 670 if (error != NO_ERROR) 671 { 672 addUserInformationToNode(user_name, serviceNode); 673 serviceNode.setAttribute("operation", ACCOUNT_SETTINGS); 674 GSXML.addError(this.doc, result, _errorMessageMap.get(error)); 675 676 return result; 677 } 678 679 error = addUser(user_name, newPassword, prevGroups, prevStatus, comment, prevEmail); 680 if (error != NO_ERROR) 681 { 682 GSXML.addError(this.doc, result, _errorMessageMap.get(error)); 683 } 684 612 685 addUserInformationToNode(null, serviceNode); 613 686 serviceNode.setAttribute("operation", LIST_USERS);
Note:
See TracChangeset
for help on using the changeset viewer.