1 19 20 package com.sslexplorer.security.actions; 21 22 import java.util.Iterator ; 23 24 import javax.servlet.http.HttpServletRequest ; 25 import javax.servlet.http.HttpServletResponse ; 26 27 import org.apache.struts.action.ActionForm; 28 import org.apache.struts.action.ActionForward; 29 import org.apache.struts.action.ActionMapping; 30 31 import com.sslexplorer.core.CoreUtil; 32 import com.sslexplorer.core.actions.AuthenticatedAction; 33 import com.sslexplorer.policyframework.Permission; 34 import com.sslexplorer.policyframework.PolicyConstants; 35 import com.sslexplorer.properties.Property; 36 import com.sslexplorer.properties.impl.userattributes.UserAttributeKey; 37 import com.sslexplorer.security.LogonControllerFactory; 38 import com.sslexplorer.security.PersonalAnswer; 39 import com.sslexplorer.security.SessionInfo; 40 import com.sslexplorer.security.User; 41 import com.sslexplorer.security.forms.PersonalAnswersForm; 42 43 public class SetPersonalAnswersAction extends AuthenticatedAction { 44 45 public SetPersonalAnswersAction() { 46 super(PolicyConstants.PERSONAL_DETAILS_RESOURCE_TYPE, new Permission[] { 47 PolicyConstants.PERM_CHANGE 48 }); 49 } 50 51 public ActionForward onExecute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 52 throws Exception { 53 54 PersonalAnswersForm f = (PersonalAnswersForm) form; 55 User user = LogonControllerFactory.getInstance().getUser(request); 56 57 PersonalAnswer answer; 58 for(Iterator it = f.getPersonalAnswers().iterator(); it.hasNext();) { 59 answer = (PersonalAnswer) it.next(); 60 Property.setProperty(new UserAttributeKey(user, answer.getId()), answer.getAnswer(), getSessionInfo(request)); 61 } 62 63 CoreUtil.removePageInterceptListener(request.getSession(), "changePersonalAnswers"); 64 return mapping.findForward("success"); 65 } 66 67 public int getNavigationContext(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { 68 return SessionInfo.MANAGEMENT_CONSOLE_CONTEXT | SessionInfo.USER_CONSOLE_CONTEXT; 69 } 70 } | Popular Tags |