`
忧里修斯
  • 浏览: 441606 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

过滤器实现简单权限控制

阅读更多
package com.dxcollector.commen;

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 com.dxcollector.entity.DxAdmin;

public class PermissionsFilter implements Filter {

	@Override
	public void destroy() {
	}

	@Override
	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
			FilterChain filterChain) throws IOException, ServletException {
		
		HttpServletRequest request = (HttpServletRequest) servletRequest; 
		HttpSession session = request.getSession();
		HttpServletResponse response = (HttpServletResponse) servletResponse; 
		String requestURL = request.getRequestURI(); 
		String contentpath = request.getContextPath();
		if(requestURL.indexOf("/manager/") != -1){
			DxAdmin admin = null;
			if(null != session.getAttribute("session_admin")){
				admin = (DxAdmin)session.getAttribute("session_admin");
			}
			if(null != admin){//用户已登录
				filterChain.doFilter(request, response);
			}else{
				response.sendRedirect(contentpath+"/public/login.html");
			}
		}else{
			filterChain.doFilter(request, response);
		}
	}

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

}
分享到:
评论
Global site tag (gtag.js) - Google Analytics