示例#1
0
文件: RecordCheck.cs 项目: ikvm/test
 private bool isRecordCan(string ownerId)
 {
     if (!this.isHavePermit && ((ownerId != null) && (ownerId.Trim().Length != 0)))
     {
         if (ownerId == this.curUserId)
         {
             return(true);
         }
         if (this.userIds.IndexOf(ownerId + ",") >= 0)
         {
             return(true);
         }
         string uproleId = ZkCommon.getRoleId(this.session);
         if ((uproleId != null) && (uproleId.Trim().Length != 0))
         {
             string roleId = ZkCommon.getRoleIdFromUser(ownerId, this.oDb);
             if ((roleId != null) && (roleId.Trim().Length != 0))
             {
                 return(ZkCommon.isRoleUp(roleId, uproleId, this.oDb));
             }
         }
         return(false);
     }
     return(true);
 }
示例#2
0
文件: RecordCheck.cs 项目: ikvm/test
 private void init(IDataReader ds, string sTableName)
 {
     if (!ConfigFix.isCheckDataPermit)
     {
         this.isHavePermit = true;
     }
     else
     {
         this.curUserId = ZkCommon.getUserId(this.session);
         if (this.curUserId == null)
         {
             this.isHavePermit = false;
         }
         else if (this.curUserId == "systemadmin")
         {
             this.isHavePermit = true;
         }
         else
         {
             if (ds != null)
             {
                 string str = null;
                 int    num = ds.FieldCount;
                 if (num > 1)
                 {
                     string name = ds.GetName(num - 1);
                     if (name.ToLower().StartsWith(ConfigFix.OWNERIDHEAD) && (name.Length > ConfigFix.OWNERIDHEAD.Length))
                     {
                         str = name.Substring(ConfigFix.OWNERIDHEAD.Length);
                     }
                 }
                 if (str == null)
                 {
                     this.isHavePermit = true;
                     return;
                 }
                 this.tableName = str;
             }
             else
             {
                 this.tableName = sTableName;
             }
             try
             {
                 this.oDb.Open();
                 string      str3   = this.tableName.ToUpper();
                 IDataReader reader = this.oDb.exeSql("select permit from fc_entity where tbname='" + str3 + "'");
                 if (((reader.Read() && !reader.IsDBNull(0)) && ((ds == null) || (Convert.ToInt16(reader.GetValue(0)) != 2))) && (Convert.ToInt16(reader.GetValue(0)) != 3))
                 {
                     reader.Close();
                     string str4 = "";
                     if (ds == null)
                     {
                         str4 = " and permit=3";
                     }
                     StringBuilder builder = new StringBuilder();
                     reader = this.oDb.exeSql("select fromId from fcq_sharerule where tbname='" + str3 + "' and toId='" + this.curUserId + "'" + str4);
                     while (reader.Read())
                     {
                         builder.Append(reader.GetString(0));
                         builder.Append(",");
                     }
                     this.userIds = builder.ToString();
                     reader.Close();
                 }
                 else
                 {
                     this.isHavePermit = true;
                 }
             }
             catch (Exception exception)
             {
                 throw exception;
             }
             finally
             {
                 try
                 {
                     this.oDb.Close();
                 }
                 catch (Exception)
                 {
                 }
             }
         }
     }
 }