1 19 20 package com.sslexplorer.security.actions; 21 22 import javax.servlet.http.HttpServletRequest ; 23 import javax.servlet.http.HttpServletResponse ; 24 25 import org.apache.commons.logging.Log; 26 import org.apache.commons.logging.LogFactory; 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.agent.DefaultAgentManager; 32 import com.sslexplorer.core.actions.DefaultAction; 33 import com.sslexplorer.security.LogonControllerFactory; 34 import com.sslexplorer.security.SessionInfo; 35 import com.sslexplorer.vfs.VFSRepository; 36 37 45 public class LogoffAction extends DefaultAction { 46 47 static Log log = LogFactory.getLog(LogoffAction.class); 48 49 52 public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 53 throws Exception { 54 55 try { 56 SessionInfo session = LogonControllerFactory.getInstance().getSessionInfo(request); 57 if(session != null) { 58 VFSRepository.removeRepository(session); 59 60 if(DefaultAgentManager.getInstance().hasActiveAgent(session)) 61 DefaultAgentManager.getInstance().unregisterAgent(session); 62 63 String username = LogonControllerFactory.getInstance().getUser(request).getPrincipalName(); 64 username += " [" + request.getRemoteHost() + "]"; 65 if (log.isInfoEnabled()) 66 log.info("Logging off " + username); 67 68 try { 69 LogonControllerFactory.getInstance().logoffSession(request, response); 70 71 if (log.isInfoEnabled()) 72 log.info(username + " has logged off"); 73 } catch (Exception ex) { 74 if (log.isInfoEnabled()) 75 log.info("Logoff failed for " + username, ex); 76 } 77 78 } 79 } catch (SecurityException ite) { 80 } 82 83 getMessages(request).clear(); 84 getErrors(request).clear(); 85 return (mapping.findForward("success")); 86 } 87 88 96 public int getNavigationContext(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { 97 return SessionInfo.MANAGEMENT_CONSOLE_CONTEXT | SessionInfo.USER_CONSOLE_CONTEXT; 98 } 99 } | Popular Tags |