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

📄 transactionfilter.java

📁 jdo开发实例,一个功能全面的oa系统
💻 JAVA
字号:
package com.gzrealmap.oa.db;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

/**
 * <p>Title: RealOA2003a</p>
 * <p>Description: OA二期开发</p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: RealMap.cc</p>
 * @author unascribed
 * @version V2003a
 */

public class transactionFilter extends HttpServlet implements Filter {
  private FilterConfig filterConfig;
  //Handle the passed-in FilterConfig
  public void init(FilterConfig filterConfig) {
    this.filterConfig = filterConfig;
  }
  //权限判断
  private boolean opinion(ServletRequest request,String userName){
    boolean pass=false;
    HttpServletRequest req=(HttpServletRequest)request;
    String path=req.getServletPath();

    ///////////////////////////////////////////////////////////
    if(path.endsWith("totrade")||path.endsWith("xsl2del")){
      if(req.getQueryString()!=null){
        path+="?"+req.getQueryString();
      }
    }
    String userID= com.gzrealmap.user.user.User.getInstance().getUserByName(userName).getID();
    System.out.println("---------------path-------------:"+path);
    com.gzrealmap.user.usergroup.UserGroups u=com.gzrealmap.user.usergroup.UserGroups.getFullUserGroups();
    com.gzrealmap.user.transactions.Transactions t=u.getTransactions4(userID);
    if(t!=null){
      com.gzrealmap.user.transactions.Transaction[] transaction=t.getTransaction();
      if(transaction!=null){
        for(int i=0;i<transaction.length;i++){

          if(transaction[i].getURL().equals(path)){
            pass=true;
            return pass;
          }
        }
      }
    }
    return pass;
  }
  //Process the request/response pair
  public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)  {
    try {
      HttpServletRequest req=(HttpServletRequest)request;
      String userName=req.getRemoteUser();


      System.out.println("下面进行权限判断....用户:"+userName);

        boolean b=opinion(req,userName);
        System.out.println("判断的结果------------------  "+b);
        if(!b){
          HttpServletResponse rep=(HttpServletResponse)response;

          rep.sendRedirect(req.getContextPath()+"/public/transaction.html");
          //  throw new ServletException("对不起,你还没有权限进行这个交易.");
        }else{
          filterChain.doFilter(request, response);

      }

    }
    catch(ServletException sx) {
      filterConfig.getServletContext().log(sx.getMessage());
    }
    catch(IOException iox) {
      filterConfig.getServletContext().log(iox.getMessage());
    }
  }
  //Clean up resources
  public void destroy() {
  }
}

⌨️ 快捷键说明

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