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

📄 userproxy.java

📁 基于struct结构的jsp
💻 JAVA
字号:
package com.ntsky.bbs.service;

import org.apache.log4j.Logger ;

import java.util.*;
import com.ntsky.bbs.service.Proxy;
import com.ntsky.xml.bbs.XMLCreator;
import com.ntsky.xml.bbs.*;
import com.ntsky.bbs.service.Roles;

/**
 * <p>Title: Ntsky OpenSource BBS</p>
 * <p>Description: 访问页面的实例对象</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: 天网文化发展有限公司</p>
 * @author 姚君林
 * @version 1.0
 */

public class UserProxy extends Proxy{
    private final static Logger logger = Logger.getLogger(UserProxy.class);

    private static RolesXML rolesXML = XMLCreator.getInstance().getRolesXML();
    /**
     * 页面查看
     */
    public boolean isViewPage(){
        return false;
    }

    /**
     * 动作权限
     */
    public boolean isAction(String usrRoles,int point){
        return isRightsPoint(usrRoles,point);
    }

     /**
      * 角色数组
      */
     private List getTempRole(String string){
         // 遍历整个RoleMap (得到角色id,由角色ID ----> 权限点数组)
         List list = getRolesMap(string);
         // 中间数组,存放取得的权限点数组
         List tempList = new ArrayList();

         Iterator rs = list.iterator();
         while (rs.hasNext()) {
             String key = (String) rs.next();
             //这里将由key获得整个权限点的字符串
             Roles roles = rolesXML.getSelRolesXML(Integer.parseInt(key));
             Map map = getPrivilege(roles.getRoleEnuStr());
             //将map添加到整个中间数组
             tempList.add(map);
         }
         return tempList;
     }

     /**
      * 循环中间的list,看是否包含权限点
      */
     private boolean isRightsPoint(String usrRoles ,int point){
         Iterator rs = getTempRole(usrRoles).iterator();
         while (rs.hasNext()) {
             Map map = (Map)rs.next();
             if (map.containsValue(String.valueOf(point))) {
                 return true;
             }
         }
         return false;
     }


     /**
      * 角色数组
      * @param string String
      * @return List
      */
     private List getRolesMap(String string) {
          StringTokenizer stringTokenizer = new StringTokenizer(string, ",");
          List list = new ArrayList();
          while (stringTokenizer.hasMoreTokens()) {
              String str = stringTokenizer.nextToken();
              list.add(str);
          }
          return list;
      }

      /**
       * 取得权限数组
       * @param string String
       * @return Map
       */
      private Map getPrivilege(String string) {
          StringTokenizer stringTokenizer = new StringTokenizer(string, ",");
          Map hasMap = new HashMap();
          while (stringTokenizer.hasMoreTokens()) {
              String str = stringTokenizer.nextToken();
              hasMap.put(str, str);
          }
          return hasMap;
      }


}

⌨️ 快捷键说明

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