1 113 package com.ivata.groupware.web.tag; 114 115 import javax.servlet.RequestDispatcher ; 116 import javax.servlet.http.HttpServletRequest ; 117 import javax.servlet.http.HttpServletResponse ; 118 import javax.servlet.http.HttpSession ; 119 import javax.servlet.jsp.JspException ; 120 import javax.servlet.jsp.tagext.TagSupport ; 121 122 import org.apache.log4j.Logger; 123 import org.apache.struts.taglib.TagUtils; 124 import org.picocontainer.PicoContainer; 125 126 import com.ivata.groupware.admin.security.server.SecuritySession; 127 import com.ivata.groupware.admin.setting.Settings; 128 import com.ivata.mask.web.field.FieldWriterFactory; 129 130 131 174 public class CheckLoginTag extends TagSupport { 175 178 private static Logger log = Logger.getLogger(CheckLoginTag.class); 179 183 private String forward = null; 184 187 int endTagReturn = EVAL_PAGE; 188 189 203 public int doStartTag() throws JspException { 204 HttpSession session = pageContext.getSession(); 206 HttpServletRequest request = (HttpServletRequest ) pageContext.getRequest(); 207 HttpServletResponse response = (HttpServletResponse ) pageContext.getResponse(); 208 209 SecuritySession securitySession = (SecuritySession) 212 session.getAttribute("securitySession"); 213 FieldWriterFactory fieldWriterFactory = (FieldWriterFactory) 214 TagUtils.getInstance().lookup(pageContext, 215 FieldWriterFactory.APPLICATION_ATTRIBUTE, 216 "application"); 217 if ((securitySession == null) 218 || (fieldWriterFactory == null)) { 219 RequestDispatcher dispatcher = pageContext.getServletContext() 220 .getRequestDispatcher("/loginGuest.action"); 221 222 try { 223 dispatcher.forward(request, pageContext.getResponse()); 224 return SKIP_BODY; 225 } catch (Exception e) { 226 log.error("CheckLoginTag: could not forward to /loginGuest.action: " 227 + e.getMessage(), 228 e); 229 } 230 } 231 PicoContainer container = securitySession.getContainer(); 232 Settings settings = (Settings) container.getComponentInstance(Settings.class); 233 return SKIP_BODY; 235 } 236 237 244 public final String getForward() { 245 return forward; 246 } 247 248 255 public final void setForward(final String forward) { 256 this.forward = forward; 257 } 258 259 272 public int doEndTag() throws JspException { 273 return endTagReturn; 275 } 276 } 277 | Popular Tags |