package com.xuefeng.ssh.action;
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;
public class FilterLoginAction implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest sRequest, ServletResponse sResponse,FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) sRequest;
HttpServletResponse response =(HttpServletResponse) sResponse;
HttpSession session = request.getSession();
String url = request.getServletPath();
String contextPath = request.getContextPath();
if (url.equals(""))
url += "/";
if ((url.startsWith("/") && !url.startsWith("/login"))) {
// 若访问后台资源
// 过滤到login
String user = (String) session.getAttribute("u");//获取登录时,加的session变量名,作为一个简单的判断点
if (user == null) {// 转入管理员登陆页面
response.sendRedirect(contextPath + "/login.jsp");
return;
}
}
filterChain.doFilter(sRequest, sResponse);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
然后在web.xml中做一个配置
<filter>
<filter-name>loginFilter</filter-name>
<filter-class>com.xuefeng.ssh.action.FilterLoginAction</filter-class>
</filter>
<filter-mapping>
<filter-name>loginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>