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

📄 userprivilege.java

📁 这是本人曾经在公司里用的,内部开发框架,基于struts+hibernate今天分享给大家
💻 JAVA
字号:
/**
 * 
 */
package cn.bway.struts.filter;

import java.util.Iterator;
import java.util.List;
import java.util.StringTokenizer;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import cn.bway.common.JavaException;
import cn.bway.common.LoginConstants;
import cn.bway.common.dao.HibernateSessionFactory;
import cn.bway.common.vo.UrlVO;

/**
 * @author Kson
 *
 */
public class UserPrivilege {
	
	private static final String URLPREFIX = "do,jsp";
	private static final String USERPRIVILEGEPREFIX = "/admin";
    public static final int FRONTUSER = 1; //ǰ̨��½
    public static final int BACKUSER = 3;
    public static final int FRONTMERCHANT = 2;
    public static final String loginfailurl = "/filter/backprivilegeError.jsp";
    private static final String HAVESESSIONGLOBALPRIVILEGE = "/admin/index.jsp,/admin/left.jsp,/admin/main.jsp,/admin/menu_top.jsp,/admin/mid.jsp,/admin/exit.jsp";
    private static final String noPassUrl="/competence_file.jsp";
    private final static int USERUNACTIVATION = 2;
    
    private static boolean judgeActionActrualUrl(String actionUrl) throws JavaException {
        if (actionUrl == null) {
            throw new JavaException("method.exception", null, new String[] {"getActionActrualUrl(String actionUrl) of Class UserPrivilege's","parameter actionUrl is null"});
        }
        int index = actionUrl.indexOf(".");
        if (index == -1 || 
        		actionUrl.indexOf("/CheckNumberAction.do") != -1 ||
        		actionUrl.equals("/index.jsp") ||
				actionUrl.equals("/main.jsp") ||
				actionUrl.equals("/left.jsp") ||
				actionUrl.equals("/menu_top.jsp") ||
				actionUrl.equals("/right.jsp") ||
				actionUrl.equals("/mid.jsp")||
				
				actionUrl.equals("/result_left.jsp") ||
				actionUrl.equals("/reporty_left.jsp")||
				actionUrl.equals("/exit.jsp")||
				actionUrl.equals("/faile.jsp")||
				actionUrl.equals("/checksession.jsp")||
				actionUrl.equals("/error.jsp")||
				actionUrl.equals("/errormsgforindex.jsp")||
				actionUrl.equals("/loginfail.jsp")||
				actionUrl.equals("/success.jsp")||
				actionUrl.equals("/user_logrefresh.jsp")||
				actionUrl.equals("/upload.jsp")||
				actionUrl.equals("/competence_file.jsp")||
				actionUrl.equals("/operation/units_add.jsp")||
				actionUrl.equals("/operation/colormanagement_list.jsp")||
				actionUrl.equals("/operation/colormanagement_add.jsp")||
				
				actionUrl.equals("/system_left.jsp")||
				actionUrl.equals("/competence_left.jsp")||
				actionUrl.equals("/email_left.jsp")||
				actionUrl.equals("/communication_left.jsp")||
				actionUrl.equals("/office_supplie_left.jsp")||
				actionUrl.equals("/personal_office_left.jsp")||
				actionUrl.equals("/operation/countryport_add.jsp")||
				actionUrl.equals("/countryport_modify.jsp")||
				actionUrl.equals("/user_left.jsp")||
				actionUrl.equals("/status_bar.jsp")||
				actionUrl.equals("/show_news.jsp")||
				actionUrl.equals("/comm_left.jsp")||
				actionUrl.equals("/myoffice/msmclose.jsp")||
				actionUrl.equals("/emailcfg/mail_login.jsp")||
				actionUrl.equals("/download.jsp")||
				actionUrl.equals("/download_file.jsp")||
				actionUrl.equals("/auto_funsh.jsp")||
				actionUrl.equals("/download_workfile.jsp")||
				actionUrl.equals("/download_news.jsp")||
				actionUrl.equals("/download_personplan.jsp")||
				actionUrl.equals("/download_staffplan.jsp")||
				actionUrl.equals("/msm/managermobilemsm.jsp")||
				actionUrl.equals("/myoffice/personworkplan.jsp")||
				actionUrl.equals("/myoffice/staffworkplan.jsp")||				
				actionUrl.equals("/myoffice/foldertree.jsp")||
				actionUrl.equals("/myoffice/communicattree.jsp")||
				actionUrl.equals("/myoffice/email_index.jsp")||
				actionUrl.equals("/admin/dept_tree.jsp")||
				actionUrl.equals("/admin/roles_add.jsp")||
				actionUrl.equals("/select/selectDeptUseList.jsp")||
				actionUrl.equals("/admin/ListDept.jsp")||
				actionUrl.equals("/admin/user_add.jsp")||
				actionUrl.equals("/admin/treedept_add.jsp")||
				actionUrl.equals("/myoffice/uploadfile.jsp")||
				actionUrl.equals("/myoffice/upload.jsp")||
				actionUrl.equals("/duty/dutylog_add.jsp")||
				actionUrl.equals("/duty/duty_add.jsp")||
				actionUrl.equals("/admin/staffcontract_add.jsp")||
				actionUrl.equals("/myoffice/worklog_add.jsp")||
				actionUrl.equals("/admin/mgeattendance_add.jsp")||
				actionUrl.equals("/select/selectToShopUserOK.jsp")||
				actionUrl.equals("/admin/separations_add.jsp")||
				actionUrl.equals("/admin/staffjobchange_add.jsp")||
				actionUrl.equals("/admin/stafftrain_add.jsp")||
				actionUrl.equals("/myoffice/treecommunicate_add.jsp")||
				actionUrl.equals("/myoffice/treecommunicate_modify.jsp")||
				actionUrl.equals("/myoffice/communicate_add.jsp")||
				actionUrl.equals("/myoffice/noticeinfo_add.jsp")||
				actionUrl.equals("/myoffice/mail_add.jsp")||
				actionUrl.equals("/myoffice/treefolder_add.jsp")||
				actionUrl.equals("/myoffice/personworkplan_add.jsp")||
				actionUrl.equals("/myoffice/staffworkplan_add.jsp")||
				actionUrl.equals("/select/selectUserListOK.jsp")||
				actionUrl.equals("/publics/officeitem_add.jsp")||
				actionUrl.equals("/publics/managerofficeitem_add.jsp")||
				actionUrl.equals("/myoffice/mobilemsm_add.jsp")||
				actionUrl.equals("/admin/GetDeptName.jsp")||
				actionUrl.equals("/admin/treedept_modify.jsp")||
				actionUrl.equals("/show_worklog.jsp")||
				actionUrl.equals("/myoffice/personfolder_add.jsp")||
				actionUrl.equals("/admin/pwd_modify.jsp")||
				actionUrl.equals("/myoffice/treefolder_modify.jsp")||
				actionUrl.equals("/myoffice/mobilemsm_search.jsp")||
				actionUrl.equals("/myoffice/share_treefolder_add.jsp")||
				actionUrl.equals("/myoffice/show_mail.jsp")||
				actionUrl.equals("/admin/staff_dept_tree.jsp")||
				actionUrl.equals("/msm/msm_main.jsp")||
				actionUrl.equals("/myoffice/share_foldertree.jsp")||
				actionUrl.equals("/showMobilemsm.do")||
				actionUrl.equals("/msm/show_msm.jsp")||
				actionUrl.equals("/userselectlist.do")||
				actionUrl.equals("/removeUnits.do")||
				actionUrl.equals("/modifyUnits.do")||
				actionUrl.equals("/addUnits.do")||
				actionUrl.equals("/showUnits.do")||
				actionUrl.equals("/oprMobilemsm.do")||
				actionUrl.equals("/addCountryport.do")||
				actionUrl.equals("/modifyCountryport.do")||
				actionUrl.equals("/showColormanagement.do")||
				actionUrl.equals("/addColormanagement.do")||
				
				
				actionUrl.equals("/removeCountryport.do")||
				actionUrl.equals("/showCountryport.do")||
				actionUrl.equals("/download_worklog.jsp")
				
		){
            return true;
        }
        String actionActrual = actionUrl.substring(index + 1);
        StringTokenizer strTok = new StringTokenizer(URLPREFIX, ",");
        while (strTok.hasMoreTokens()) {
            if (strTok.nextToken().equalsIgnoreCase(actionActrual)) {
            	System.out.println(" $$$$$$$ prefix of action: " + "." + actionActrual);
                return false;
            }
        }
        return true;
    }
    
    public static String judgePrivilege(HttpServletRequest request) throws JavaException{
        if (request == null) {
            throw new JavaException("method.exception", null,new String[] {"judgePrivilege(HttpServletRequest request) of Class Privilege's","parameter request is null"});
        }
        String actionUrl = request.getServletPath();
        
        if (judgeActionActrualUrl(actionUrl)) {
            return null;
        }
        
        //权限判断
        try{
			UrlVO urlvo = null;
			List alist = null;
			String newpath="";
			String newpath1="";
			newpath1=actionUrl;
			alist =(List)request.getSession().getAttribute(LoginConstants.GLOBLE_STAFF_AUDIT);
			if (null != alist){
				Iterator ite =alist.iterator();
				while(ite.hasNext()){
					urlvo = new UrlVO();
					urlvo=(UrlVO) ite.next();
					newpath=urlvo.getUrl();
					if(actionUrl.equals(newpath) || actionUrl ==newpath){
						return actionUrl;
					}
					else{
						newpath1=noPassUrl;
					}
				}
				actionUrl=newpath1;
			}else{
				actionUrl=noPassUrl;
			}
        }catch(Exception e){
        	e.printStackTrace();
        }
		return actionUrl;
    }
    
    
}

⌨️ 快捷键说明

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