1 19 20 package com.sslexplorer.setup.actions; 21 22 import java.util.Arrays ; 23 24 import javax.servlet.http.HttpServletRequest ; 25 import javax.servlet.http.HttpServletResponse ; 26 27 import org.apache.commons.logging.Log; 28 import org.apache.commons.logging.LogFactory; 29 import org.apache.struts.action.ActionForm; 30 import org.apache.struts.action.ActionForward; 31 import org.apache.struts.action.ActionMapping; 32 33 import com.sslexplorer.core.UserDatabaseManager; 34 import com.sslexplorer.core.actions.AuthenticatedDispatchAction; 35 import com.sslexplorer.policyframework.PolicyConstants; 36 import com.sslexplorer.policyframework.PolicyUtil; 37 import com.sslexplorer.policyframework.Principal; 38 import com.sslexplorer.policyframework.forms.PrincipalInformationForm; 39 import com.sslexplorer.security.Constants; 40 import com.sslexplorer.security.LogonControllerFactory; 41 import com.sslexplorer.security.Role; 42 import com.sslexplorer.security.SessionInfo; 43 import com.sslexplorer.setup.forms.SessionInformationForm; 44 45 50 public class SessionInformationAction extends AuthenticatedDispatchAction { 51 52 final static Log log = LogFactory.getLog(SessionInformationAction.class); 53 54 62 public ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, 63 HttpServletResponse response) throws Exception { 64 try { 65 PolicyUtil.checkPermission(PolicyConstants.STATUS_TYPE_RESOURCE_TYPE, PolicyConstants.PERM_VIEW, request); 66 String ticket = request.getParameter("ticket"); 67 if(ticket == null) { 68 throw new Exception ("No ticket parameter supplied."); 69 } 70 SessionInfo info = LogonControllerFactory.getInstance().getSessionInfo(ticket); 71 request.setAttribute(Constants.REQ_ATTR_INFO_RESOURCE, info); 72 return sessionInformation(mapping, form, request, response); 73 } catch (Exception e) { 74 log.error("Failed to get session information. ", e); 75 response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage()); 76 } 77 return null; 78 } 79 80 88 public ActionForward sessionInformation(ActionMapping mapping, ActionForm form, HttpServletRequest request, 89 HttpServletResponse response) throws Exception { 90 SessionInformationForm informationForm = (SessionInformationForm) form; 91 SessionInfo session = (SessionInfo) request.getAttribute(Constants.REQ_ATTR_INFO_RESOURCE); 92 informationForm.initialise(session); 93 return mapping.findForward("display"); 94 } 95 96 104 public int getNavigationContext(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { 105 return SessionInfo.MANAGEMENT_CONSOLE_CONTEXT; 106 } 107 } | Popular Tags |