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

📄 check.java

📁 J2EE架构的权限系统
💻 JAVA
字号:
/*
 * 创建日期 2005-8-21
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package org.infosys.security;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.infosys.common.Constants;
import org.infosys.util.Page2private;
import org.infosys.util.ParamUtil;

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class Check {
	
	/**
	 * 是否登录
	 * @param request
	 * @param response
	 * @return boolean
	 */
    public static boolean isLogin(HttpServletRequest request,HttpServletResponse response){
    	boolean islogin=true;
    	try{
           Object loginUser=request.getSession().getAttribute(Constants.SESSION_USER_DATA);
           if(loginUser==null){
           	  islogin=false;
           }
        }catch(Exception e){
        	islogin=false;
        	e.printStackTrace();
        }
        return islogin;
    }
    
	/**
	 * 转移页面
	 * @param request
	 * @param response
	 * @param redirectUrl 要转到的页面
	 * @throws Exception
	 */
    public static void redirectErr(HttpServletRequest request,HttpServletResponse response,String redirectUrl){
    	try{
           	response.sendRedirect(redirectUrl);
        }catch(Exception e){
        	e.printStackTrace();
        }
    }
	
	/**
	 * 检验登录
	 * @param request
	 * @param response
	 * @param redirectUrl 要转到的页面
	 * @throws Exception
	 */
    public static void checkLogin(HttpServletRequest request,HttpServletResponse response,String redirectUrl){
    	try{
           Object loginUser=request.getSession().getAttribute(Constants.SESSION_USER_DATA);
           if(loginUser==null){
           	response.sendRedirect(redirectUrl);
           	return;
           }
        }catch(Exception nonesession){
           try {
			  response.sendRedirect(redirectUrl);
		   } catch (IOException e) {
			  e.printStackTrace();
		   }
        }
    }
    
    /**
     * 验证权限
     * @param request
     * @param response
     * @param userRights 以","分割的权限点串
     * @return 错误原因
     */
    public static String ValidateRights(HttpServletRequest request,HttpServletResponse response,String userRights){ 
    	String splitChar=",";
    	String userRightsArr[]=ParamUtil.trimChar(userRights,',').split(splitChar);
    	String userRightsStr=null;
    	Object groupRights=null;
    	boolean isRight=false;
    	String retStatus="";
    	try{
    		groupRights=request.getSession().getAttribute(Constants.SESSION_USER_RIGHTSPOINT);
		    if(groupRights==null){
		    	retStatus=Constants.TIPS_LOGIN_NONE;
		    }else{
	    		userRightsStr=groupRights.toString();
			    for(int i=0;i<userRightsArr.length;i++){
			       if(userRightsStr.indexOf(splitChar+userRightsArr[i]+splitChar)>=0){
			       	  isRight=true;
			       	  break;
			       }
			    }
			    if(isRight){
			    	retStatus=Constants.PROCESS_OK;
			    }else{
			    	retStatus=Constants.TIPS_RIGHTS_ERROR;
			    }
		    }
        }catch(Exception e){
        	e.printStackTrace();
        }finally{
        	groupRights=null;
            userRightsStr=null;
        }
        return retStatus;
    }
    
    /**
     * 检验权限
     * @param request
     * @param response
     * @param userRights 以","分割的权限点串
     * @param redirectUrl 要转到的页面
     */
    public static void checkRights(HttpServletRequest request,HttpServletResponse response,String userRights,String redirectUrl){ 
    	String splitChar=",";
    	String userRightsArr[]=ParamUtil.trimChar(userRights,',').split(splitChar);
    	boolean isRight=false;
    	try{
           String userRightsStr=request.getSession().getAttribute(Constants.SESSION_USER_RIGHTSPOINT).toString();
           for(int i=0;i<userRightsArr.length;i++){
	           if(userRightsStr.indexOf(splitChar+userRightsArr[i]+splitChar)>=0){
	           	  isRight=true;
	           	  break;
	           }
           }
           if(isRight==false){
	           response.sendRedirect(redirectUrl);
	           return;
           }
        }catch(Exception nonesession){
           try {
  			  response.sendRedirect(redirectUrl);
  		   } catch (IOException e) {
  			  e.printStackTrace();
  		   }
        }
    }
    
    /**
     * 验证页面自己的权限点
     * @param request
     * @param response
     * @return 错误原因
     */
    public static String isRights(HttpServletRequest request,HttpServletResponse response){ 
    	String userRights="";
    	try{
    		userRights=(new Page2private()).get(request);
    	}catch(Exception e) {
    		return Constants.TIPS_RIGHTS_ERROR;
    	}
    	String splitChar=",";
    	String userRightsStr=null;
    	Object groupRights=null;
    	String retStatus="";
    	try{
    		groupRights=request.getSession().getAttribute(Constants.SESSION_USER_RIGHTSPOINT);
		    if(groupRights==null){
		    	retStatus=Constants.TIPS_LOGIN_NONE;
		    }else{
	    		userRightsStr=groupRights.toString();
		        if(userRightsStr.indexOf(splitChar+userRights+splitChar)>=0){
		        	retStatus=Constants.PROCESS_OK;
		        }else{
			    	retStatus=Constants.TIPS_RIGHTS_ERROR;
			    }
		    }
        }catch(Exception e){
        	e.printStackTrace();
        }finally{
        	groupRights=null;
            userRightsStr=null;
        }
        return retStatus;
    }
    
    /**
     * 验证指定页面的权限点
     * @param request
     * @param response
     * @param privUrl 指定页面
     * @return 错误原因
     */
    public static String isRights(HttpServletRequest request,HttpServletResponse response,String privUrl){ 
    	String userRights="";
    	try{
    		userRights=(new Page2private()).get(privUrl);
    	}catch(Exception e) {
    		return Constants.TIPS_RIGHTS_ERROR;
    	}
    	String splitChar=",";
    	String userRightsStr=null;
    	Object groupRights=null;
    	String retStatus="";
    	try{
    		groupRights=request.getSession().getAttribute(Constants.SESSION_USER_RIGHTSPOINT);
		    if(groupRights==null){
		    	retStatus=Constants.TIPS_LOGIN_NONE;
		    }else{
	    		userRightsStr=groupRights.toString();
		        if(userRightsStr.indexOf(splitChar+userRights+splitChar)>=0){
		        	retStatus=Constants.PROCESS_OK;
		        }else{
			    	retStatus=Constants.TIPS_RIGHTS_ERROR;
			    }
		    }
        }catch(Exception e){
        	e.printStackTrace();
        }finally{
        	groupRights=null;
            userRightsStr=null;
        }
        return retStatus;
    } 
    
}

⌨️ 快捷键说明

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