1 16 package org.jmanage.webui.actions.auth; 17 18 import org.jmanage.webui.actions.BaseAction; 19 import org.jmanage.webui.util.WebContext; 20 import org.jmanage.webui.util.Forwards; 21 import org.jmanage.webui.forms.UserForm; 22 import org.jmanage.core.auth.UserManager; 23 import org.jmanage.core.auth.User; 24 import org.jmanage.core.auth.Role; 25 import org.jmanage.core.services.AccessController; 26 import org.jmanage.core.crypto.Crypto; 27 import org.jmanage.core.util.UserActivityLogger; 28 import org.apache.struts.action.ActionForward; 29 import org.apache.struts.action.ActionMapping; 30 import org.apache.struts.action.ActionForm; 31 32 import javax.servlet.http.HttpServletRequest ; 33 import javax.servlet.http.HttpServletResponse ; 34 import java.util.ArrayList ; 35 import java.util.List ; 36 37 41 public class EditUserAction extends BaseAction{ 42 43 54 public ActionForward execute(WebContext context, 55 ActionMapping mapping, 56 ActionForm actionForm, 57 HttpServletRequest request, 58 HttpServletResponse response) 59 throws Exception { 60 AccessController.checkAccess(context.getServiceContext(), ACL_EDIT_USERS); 61 User user = buildUser(actionForm); 62 UserManager.getInstance().updateUser(user); 63 UserActivityLogger.getInstance().logActivity( 64 context.getUser().getUsername(), 65 "Edited user "+user.getName()); 66 return mapping.findForward(Forwards.SUCCESS); 67 } 68 69 75 private User buildUser(ActionForm form){ 76 UserForm userForm = (UserForm)form; 77 User user = UserManager.getInstance().getUser(userForm.getUsername()); 78 assert user != null; 79 80 List roles = new ArrayList (1); 81 roles.add(new Role(userForm.getRole())); 82 user.setRoles(roles); 83 if(!userForm.getPassword().equals(UserForm.FORM_PASSWORD)){ 84 String hashedPassword = Crypto.hash(userForm.getPassword()); 85 user.setPassword(hashedPassword); 86 } 87 user.setStatus(userForm.getStatus()); 88 return user; 89 } 90 } 91 | Popular Tags |