struts2监听,判断登陆

web.xml中

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <filter>
    <filter-name>authFilter</filter-name>
    <filter-class>com.richsum.xnoa.web.AuthFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>authFilter</filter-name>
    <url-pattern>/*</url-pattern>
 </filter-mapping>

类中

package com.richsum.xnoa.web;


import java.io.IOException;


import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;


import com.richsum.xnoa.common.SystemConstants;


/**
 * @author Leo
 */
public class AuthFilter implements Filter {
private static final Log LOG = LogFactory.getLog(AuthFilter.class);


@Override
public void init(FilterConfig arg0) throws ServletException {


}



public void doFilter(ServletRequest servletRequest,
ServletResponse servletResponse, FilterChain chain)
throws IOException, ServletException {
LOG.debug("Enter Auth Filter...");


HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
HttpSession session = request.getSession();


String uri = request.getRequestURI();
String context = request.getContextPath();
uri = uri.replace(context, "");
// String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+context+"/"; 

Object user = session.getAttribute(SystemConstants.SESN_KEY_LOGIN_EMPLOYEE);
/*if (user != null || uri.equalsIgnoreCase("/index.action") || uri.equalsIgnoreCase("/checkPIN.action") || uri.equalsIgnoreCase("/loginByUK.action") || uri.equalsIgnoreCase("/softDownload.action") || uri.startsWith("/config-browser") ) {  /mast/code/judCode.action
chain.doFilter(servletRequest, servletResponse);

}  else {
response.sendRedirect(context);

}*/
if (uri.endsWith("login.jsp") || uri.endsWith("LoginSwitch.jsp") || uri.endsWith("AndroidLogin.jsp") ||user != null || uri.equalsIgnoreCase("/index.action") || uri.equalsIgnoreCase("/checkPIN.action") || uri.equalsIgnoreCase("/loginByUK.action") || uri.equalsIgnoreCase("/softDownload.action") || uri.startsWith("/config-browser") || uri.equalsIgnoreCase("/mast/code/getCode.action") || uri.equalsIgnoreCase("/mast/code/judCode.action")) {
chain.doFilter(servletRequest, servletResponse);

}  else {
if(uri.endsWith(".jsp")||uri.endsWith(".action")){
LOG.debug("doFilter请求被拦截,跳转到:" + context);
//判断是否通过微信请求来的
String clientType = request.getParameter("clientType") == null ? ""
: request.getParameter("clientType").toString();
if (clientType != null&& clientType.equals("Android")) {
response.sendRedirect(request.getContextPath() +"/AndroidLogin.jsp");
}else {
response.sendRedirect(request.getContextPath() +"/LoginSwitch.jsp");
}
return;
}else{
chain.doFilter(servletRequest, servletResponse);
}

}
}


@Override
public void destroy() {
try {


} catch (Exception ex) {
LOG.debug(ex.getMessage());
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值