⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 idchecker.java

📁 报表,关于ireport报表的一些源码(转)
💻 JAVA
字号:
package cn.edu.hlju.oa.kygl.util;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import net.sf.jasperreports.j2ee.servlets.ImageServlet;
import net.sf.jasperreports.engine.JasperPrint;

public class IDChecker extends HttpServlet implements Filter {
    private FilterConfig filterConfig;
    //保存需要检查用户权限的资源
    private ArrayList<String> need2Checked;

    //Handle the passed-in FilterConfig
    public void init(FilterConfig filterConfig) throws ServletException {
        filterConfig = filterConfig;
        need2Checked = new ArrayList<String>();
        need2Checked.add("SRSystemCodingAction");
        need2Checked.add("SRSystemCodingAdd.jsp");
        need2Checked.add("SRSystemCodingManage.jsp");

        String rootPath = filterConfig.getServletContext().getRealPath("/");
        System.out.println("根路径是:"+rootPath);
    }

    //Process the request/response pair
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws
            ServletException, IOException {
        HttpServletRequest req = (HttpServletRequest)request;
        //对于一些无聊的请求不予理睬,对于未能通过权限验证的请求将直接导向错误页面
        if( neededCheck(req.getServletPath()) )
            if( !checkUserAuthority(request,response) )
                redirectToErrPage(request,response);

        //通过验证的用户的请求和一些无关的请求可以被通过
        filterChain.doFilter(request, response);
    }

    //判断一下所请求的是否需要验证权限
    private boolean neededCheck(String requestedRes){
        String temp = requestedRes.substring(requestedRes.lastIndexOf("/")+1);
        if( need2Checked.contains(temp)){
            System.out.println("要请求的是:"+requestedRes+",这是一个需要验证身份的网址.");
            return true;
        }
        return false;
    }

    private boolean checkUserAuthority(ServletRequest request, ServletResponse response){
        HttpServletRequest req = (HttpServletRequest)request;
        HttpSession session = req.getSession();
        //验证身份的策略尚未却顶,暂时认为所有请求都可以通过
        return true;
    }

    private void redirectToErrPage(ServletRequest request, ServletResponse response)
            throws IOException, ServletException {
        RequestDispatcher dispatcher = request.getRequestDispatcher("Err.jsp");
        dispatcher.forward(request,response);
    }

    //Clean up resources
    public void destroy() {
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -