| 1 22 23 package org.cofax.cms; 24 25 import org.cofax.*; 26 import javax.servlet.http.*; 27 import java.util.*; 28 29 37 38 public class CofaxToolsSecurity { 39 40 45 public static boolean checkPermissions(DataStore db, HttpSession session, String mode) { 46 CofaxToolsUser user = (CofaxToolsUser) session.getAttribute("user"); 47 String currentPub = user.workingPub; 48 Vector groups = new Vector(); 49 50 HashMap fillReq = new HashMap(); 51 fillReq.put("MODES", mode); 52 String tag = CofaxToolsDbUtils.fillTag(db, "getTypeFromModes"); 53 Vector modePermissions = CofaxToolsDbUtils.getPackageVector(db, fillReq, tag); 54 55 Iterator it = modePermissions.iterator(); 56 57 Vector pubPermissions = user.userPubsVectorOHash; 59 60 Iterator pubI = pubPermissions.iterator(); 61 62 while (pubI.hasNext()) { 63 Object o = pubI.next(); 64 HashMap ht = (HashMap) o; 65 Iterator en = ht.keySet().iterator(); 66 while (en.hasNext()) { 67 String name = (String ) en.next(); 68 String value = (String ) ht.get(name); 69 if (name.equals(currentPub)) { 72 groups.add(value); 73 } 74 } 75 76 } 77 78 boolean hasPermission = false; 79 80 Iterator modePermI = modePermissions.iterator(); 81 84 while (modePermI.hasNext()) { 85 String one = modePermI.next().toString(); 86 Iterator groupPermI = groups.iterator(); 87 while (groupPermI.hasNext()) { 88 String two = groupPermI.next().toString(); 89 if (one.equals(two)) { 90 hasPermission = true; 91 } 92 } 93 } 94 return hasPermission; 95 } 96 97 101 public static boolean checkSectionEdition(DataStore db, HttpSession session, String mappingCode) { 102 CofaxToolsUser user = (CofaxToolsUser) session.getAttribute("user"); 103 String userID = (String ) user.userInfoHash.get("USERID"); 104 boolean hasPermission = false; 105 106 HashMap ht = new HashMap(); 107 StringBuffer v_s = new StringBuffer (); 108 v_s.append("select manager from tblpermusersection where userID='" + userID + "' and mappingCode='" + mappingCode + "' and manager=1"); 109 List isManager = CofaxToolsDbUtils.getPackageData(db, ht, v_s.toString()); 110 Iterator it = isManager.iterator(); 111 if (it.hasNext()) { 112 hasPermission = true; 113 } 114 115 return hasPermission; 116 } 117 118 122 public static boolean checkArticleEdition(DataStore db, HttpSession session, String itemID) { 123 CofaxToolsUser user = (CofaxToolsUser) session.getAttribute("user"); 124 String userID = (String ) user.userInfoHash.get("USERID"); 125 boolean hasPermission = false; 126 127 HashMap ht = new HashMap(); 128 StringBuffer v_s = new StringBuffer (); 129 v_s.append("select manager from tblpermusersection AS PUS, tblarticles AS A, tblsections AS S ").append( 130 "where PUS.userID='" + userID + "' and PUS.mappingCode=S.mappingCode ").append( 131 "AND A.itemID=" + itemID + " AND A.section=S.section AND A.pubName=S.pubName "); 132 List isManager = CofaxToolsDbUtils.getPackageData(db, ht, v_s.toString()); 133 Iterator it = isManager.iterator(); 134 if (it.hasNext()) { 135 hasPermission = true; 136 } 137 138 return hasPermission; 139 } 140 141 145 public static boolean checkSectionWriteIn(DataStore db, HttpSession session, String mappingCode) { 146 CofaxToolsUser user = (CofaxToolsUser) session.getAttribute("user"); 147 String userID = (String ) user.userInfoHash.get("USERID"); 148 boolean hasPermission = false; 149 150 HashMap ht = new HashMap(); 151 StringBuffer v_s = new StringBuffer (); 152 v_s.append("select manager from tblpermusersection where userID='" + userID + "' and mappingCode='" + mappingCode + "'"); 153 List isManager = CofaxToolsDbUtils.getPackageData(db, ht, v_s.toString()); 154 Iterator it = isManager.iterator(); 155 if (it.hasNext()) { 156 hasPermission = true; 157 } 158 159 return hasPermission; 160 } 161 } 162 | Popular Tags |