1 6 7 package org.contineo.actions.admin.user; 8 9 import javax.servlet.http.HttpServletRequest ; 10 import javax.servlet.http.HttpServletResponse ; 11 import javax.servlet.http.HttpSession ; 12 import org.apache.log4j.Level; 13 import org.apache.log4j.Logger; 14 import org.apache.struts.action.Action; 15 import org.apache.struts.action.ActionError; 16 import org.apache.struts.action.ActionErrors; 17 import org.apache.struts.action.ActionForm; 18 import org.apache.struts.action.ActionForward; 19 import org.apache.struts.action.ActionMapping; 20 import org.apache.struts.action.ActionMessage; 21 import org.apache.struts.action.ActionMessages; 22 import org.contineo.admin.User; 23 import org.contineo.admin.dao.UserDAO; 24 import org.contineo.core.CryptBean; 25 import org.contineo.core.LoggingManager; 26 import org.contineo.core.SessionManagement; 27 import org.contineo.forms.PasswordForm; 28 33 public class SavePasswordAction extends Action { 34 35 39 private Logger logger; 40 41 42 43 public SavePasswordAction() { 44 logger = LoggingManager.getLogger(this.getClass()); 45 } 46 47 public ActionForward execute(ActionMapping mapping, 48 ActionForm form, HttpServletRequest request, 49 HttpServletResponse response) { 50 ActionForward actionForward = new ActionForward(); 51 ActionErrors errors = new ActionErrors(); 52 ActionMessages messages = new ActionMessages(); 53 HttpSession session = request.getSession(); 54 if (SessionManagement.isValid(session)) { 55 try { 56 PasswordForm pform = (PasswordForm)form; 57 if (pform.getNewPassword() != null && !pform.getNewPassword().equals("") && pform.getOldPassword() != null && 58 !pform.getOldPassword().equals("") && pform.getRetyped() != null && !pform.getRetyped().equals("")) { 59 if (pform.getNewPassword().equals(pform.getRetyped())) { 60 String username = (String )session.getAttribute("authuser"); 61 UserDAO udao = new UserDAO(); 62 User user = udao.findByPrimaryKey(username); 63 String opwd = CryptBean.cryptString(pform.getOldPassword()); 64 if (opwd.equals(user.getPassword())) { 65 user.setPassword(pform.getNewPassword()); 66 udao.store(user); 67 messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("msg.action.passwordchanged")); 68 } else { 69 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.password.mismatch")); 70 } 71 } else { 72 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.val.password")); 73 } 74 } else { 75 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.required")); 76 } 77 } catch (Exception e) { 78 if (logger.isEnabledFor(Level.ERROR)) 79 logger.error(e.getMessage()); 80 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.changepassword")); 81 } 82 saveErrors(request, errors); 83 saveMessages(request, messages); 84 actionForward.setPath("/ChangePassword.do"); 85 } else 86 actionForward = mapping.findForward("invalid"); 87 return actionForward; 88 } 89 } 90 | Popular Tags |