关于权限控制模块(拦截URL 实现访问控制)(

 

思路 http://localhost:8080/control/center/main.do 我们拦截以/control 开始的所有路径

用户不登陆不允许访问以/control开始的路径

在web.xml中配置一个filter 具体如下


EmployeeLogonValidate
com.shop.web.filter.EmployeeValidateFilter


EmployeeLogonValidate
/control/*

 

fiter类:

package com.shop.web.filter;

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 com.shop.bean.privilege.Employee;
import com.shop.utils.WebUtil;

public class EmployeeValidateFilter implements Filter{
public void destroy() {
}

public void doFilter(ServletRequest req, ServletResponse res,
FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)req;
Employee employee = WebUtil.getEmployee(request);
if(employee==null){
HttpServletResponse response = (HttpServletResponse) res;
response.sendRedirect("/employee/logon.do");
return ;
}
filterChain.doFilter(req, res);
}

public void init(FilterConfig arg0) throws ServletException {
}

 

}

你可能感兴趣的:(Java)