public int UpdateSecretInfoLog(SecretInfoLog query) { try { return _secretlogDao.UpdateSecretInfoLog(query); } catch (Exception ex) { throw new Exception("SecretInfoLogMgr-->UpdateSecretInfoLog-->" + ex.Message, ex); } }
public List<SecretInfoLog> GetMaxCreateLog(SecretInfoLog query) { try { return _secretlogDao.GetMaxCreateLog(query); } catch (Exception ex) { throw new Exception("SecretInfoLogMgr-->GetMaxCreateLog-->" + ex.Message, ex); } }
public DataTable GetSecretInfoLog(SecretInfoLog query, out int totalCount) { try { DataTable _dt = _secretlogDao.GetSecretInfoLog(query, out totalCount); ParametersrcDao _parameterDao = new ParametersrcDao(connStr); List<Parametersrc> parameterList = _parameterDao.QueryParametersrcByTypes("secret_type"); _dt.Columns.Add("type_name"); foreach (DataRow q in _dt.Rows) { var alist = parameterList.Find(m => m.ParameterType == "secret_type" && m.ParameterCode == q["type"].ToString()); if (alist != null) { q["type_name"] = alist.parameterName; } } return _dt; } catch (Exception ex) { throw new Exception("SecretInfoLogMgr-->GetSecretInfoLog-->" + ex.Message, ex); } }
/// <summary> /// 誰在什麼時候通過哪個頁面訪問了哪筆機敏資料 /// </summary> /// <returns></returns> public HttpResponseBase SaveSecretLog() { string json = "{success:false,isconti:false,ispower:false,pwd_status:\"" + 0 + "\"}"; try { _secretLogMgr = new SecretInfoLogMgr(mySqlConnectionString); SecretInfoLog query = new SecretInfoLog(); //誰 query.user_id = Convert.ToUInt32((System.Web.HttpContext.Current.Session["caller"] as Caller).user_id.ToString()); query.ipfrom = CommonFunction.GetIP4Address(Request.UserHostAddress.ToString()); //在哪個時候 query.createdate = DateTime.Now; //訪問了哪個頁面 if (!string.IsNullOrEmpty(Request.Params["urlRecord"])) { query.url = Request.Params["urlRecord"].ToString(); } if (!string.IsNullOrEmpty(Request.Params["secretType"])) { query.type = Convert.ToInt32(Request.Params["secretType"].ToString()); } //哪筆機敏資料 if (!string.IsNullOrEmpty(Request.Params["ralatedId"])) { query.related_id = Convert.ToInt32(Request.Params["ralatedId"].ToString()); } sasMgr = new SecretAccountSetMgr(mySqlConnectionString); SecretAccountSet querysas = new SecretAccountSet(); querysas.user_id = query.user_id; querysas.ipfrom = query.ipfrom; querysas.status = -1; List<SecretAccountSet> store = sasMgr.GetSecretSetList(querysas);//獲得用戶的密保信息 if (store.Count > 0)//該賬號具有機敏權限 { if ((store[0].secret_count < store[0].secret_limit) && store[0].status == 1)//該賬號查詢次數未達極限 { if (_secretLogMgr.InsertSecretInfoLog(query) > 0)//查詢記錄保存成功 { store[0].secret_count = store[0].secret_count + 1; store[0].updatedate = DateTime.Now; sasMgr.Update(store[0]); //判斷是否具有權限 json = "{success:true,isconti:true,ispower:true,pwd_status:\"" + store[0].pwd_status + "\"}";//正常進行 } } else if ((store[0].secret_count >= store[0].secret_limit) && store[0].status == 1)//極限值訪問 { store[0].status = 0; store[0].updatedate = DateTime.Now; sasMgr.Update(store[0]); //判斷是否具有權限 json = "{success:true,isconti:false,ispower:true,pwd_status:\"" + store[0].pwd_status + "\"}";//已達極限 } else if ((store[0].secret_count < store[0].secret_limit) && store[0].status == 0) {//達極限 json = "{success:true,isconti:false,ispower:false,pwd_status:\"" + store[0].pwd_status + "\"}";//沒有賬號 } else { json = "{success:true,isconti:false,ispower:true,pwd_status:\"" + store[0].pwd_status + "\"}";//已達極限 } } else { json = "{success:true,isconti:false,ispower:false,pwd_status:\"" + 0 + "\"}";//沒有賬號 } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
public HttpResponseBase GetSecretInfoLog() { List<SecretInfoLog> store = new List<SecretInfoLog>(); string json = string.Empty; int totalCount = 0; try { _secretLogMgr = new SecretInfoLogMgr(mySqlConnectionString); SecretInfoLog query = new SecretInfoLog(); query.Start = Convert.ToInt32(Request.Params["start"] ?? "0"); if (!string.IsNullOrEmpty(Request.Params["limit"])) { query.Limit = Convert.ToInt32(Request.Params["limit"]); } if (!string.IsNullOrEmpty(Request.Params["user_id"])) { query.user_id = uint.Parse(Request.Params["user_id"]); } query.user_email = Request.Params["login_mail"]; query.ipfrom = Request.Params["login_ipfrom"]; if (!string.IsNullOrEmpty(Request.Params["start_date"])) { query.date_one = Convert.ToDateTime(Request.Params["start_date"]); } if (!string.IsNullOrEmpty(Request.Params["end"])) { query.date_two = Convert.ToDateTime(Request.Params["end"]); } if (!string.IsNullOrEmpty(Request.Params["sumtotal"])) { query.sumtotal = int.Parse(Request.Params["sumtotal"]); } if (!string.IsNullOrEmpty(Request.Params["is_count"])) { int is_count = int.Parse(Request.Params["is_count"]); if (is_count == 1) { if (!string.IsNullOrEmpty(Request.Params["ismail"])) { query.ismail = int.Parse(Request.Params["ismail"]); } if (!string.IsNullOrEmpty(Request.Params["countClass"])) { query.countClass = int.Parse(Request.Params["countClass"]); } } else { query.ismail = -1; query.countClass = -1; } } if (!string.IsNullOrEmpty(Request.Params["type"])) { query.type = int.Parse(Request.Params["type"]); } DataTable DT = _secretLogMgr.GetSecretInfoLog(query, out totalCount); IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式 timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; json = "{success:true,totalCount:" + totalCount + ",data:" + JsonConvert.SerializeObject(DT, Formatting.Indented, timeConverter) + "}";//返回json數據 } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false,totalCount:0,data:[]}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
public HttpResponseBase GetSecretLog() { string json = string.Empty; try { _secretLogMgr = new SecretInfoLogMgr(mySqlConnectionString); SecretInfoLog query = new SecretInfoLog(); query.user_id = Convert.ToUInt32((System.Web.HttpContext.Current.Session["caller"] as Caller).user_id.ToString()); query.ipfrom = CommonFunction.GetIP4Address(Request.UserHostAddress.ToString()); List<SecretInfoLog> store = _secretLogMgr.GetSecretInfoLog(query);//first是輸入密碼最近的 if (store.Count != 0) { DateTime dtNow = DateTime.Now.AddMinutes(-5); if (dtNow.CompareTo(Convert.ToDateTime(store[0].input_pwd_date)) >= 0) { json = "{success:true,data:true}";//超出密保時間,需輸入密碼 } else { json = "{success:true,data:false}";//未超出密保時間,則不需輸入密碼 } } else { json = "{success:true,data:true}";//超出密保時間,需輸入密碼 } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false,data:true}";//異常 } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
public DataTable GetSecretInfoLog(SecretInfoLog query, out int totalCount) { StringBuilder sql = new StringBuilder(); StringBuilder sbSql = new StringBuilder(); StringBuilder sbCountSql = new StringBuilder(); StringBuilder sbSqlCondi = new StringBuilder(); totalCount = 0; sbSql.Append("SELECT count(sl.user_id) as countIp,log_id,sl.user_id,mu.user_email,sl.createdate,ipfrom,url,sl.input_pwd_date "); sbSql.Append(",sl.type, sl.related_id,'' as related_name "); sbCountSql.Append("SELECT log_id,sl.user_id,mu.user_email,sl.createdate,ipfrom,url,sl.input_pwd_date "); sbCountSql.Append(",sl.type, sl.related_id,'' as related_name "); sbSqlCondi.Append(" FROM secret_info_log as sl "); sbSqlCondi.Append(" LEFT JOIN manage_user as mu ON mu.user_id=sl.user_id"); sbSqlCondi.Append(" WHERE 1=1 "); if (!string.IsNullOrEmpty(query.user_email)) { sbSqlCondi.AppendFormat(" and mu.user_email like N'%{0}%'", query.user_email); } if (!string.IsNullOrEmpty(query.ipfrom)) { sbSqlCondi.AppendFormat(" and ipfrom like N'%{0}%' ", query.ipfrom); } if (query.type != 0) { sbSqlCondi.AppendFormat(" and sl.type ={0}", query.type); } if (query.user_id != 0) { sbSqlCondi.AppendFormat(" and sl.user_id ={0}", query.user_id); } if (query.type != 0 && query.type != -1) { sbSqlCondi.AppendFormat(" and sl.type ={0}", query.type); } if (query.date_one != DateTime.MinValue && query.date_two != DateTime.MinValue) { sbSqlCondi.AppendFormat(" and sl.createdate between '{0}' and '{1}' ", Common.CommonFunction.DateTimeToString(query.date_one), Common.CommonFunction.DateTimeToString(query.date_two)); } if (query.countClass == 2) { if (query.date_one != DateTime.MinValue && query.date_two != DateTime.MinValue) { sbSqlCondi.AppendFormat(" and sl.input_pwd_date between '{0}' and '{1}' ", Common.CommonFunction.DateTimeToString(query.date_one), Common.CommonFunction.DateTimeToString(query.date_two)); } sbSqlCondi.AppendFormat(" and NOT ISNULL(sl.input_pwd_date) and sl.input_pwd_date!='0001-01-01 00:00:00' "); } if (query.ismail == 0) { sbSqlCondi.Append(" GROUP BY ipfrom,sl.user_id,type "); } if (query.ismail == 1) { sbSqlCondi.Append(" GROUP BY sl.user_id,type "); } if (query.ismail == 2) { sbSqlCondi.Append(" GROUP BY ipfrom,type "); } if (query.sumtotal != 0) { if (query.ismail == 1 || query.ismail == 0) { sbSqlCondi.AppendFormat(@" HAVING COUNT(sl.user_id)>= {0} ", query.sumtotal); } else if (query.ismail == 2) { sbSqlCondi.AppendFormat(@" HAVING COUNT(ipfrom)>= {0} ", query.sumtotal); } } sbSqlCondi.Append(" ORDER BY log_id DESC"); try { if (query.IsPage) { DataTable dt = _access.getDataTable("select sl.log_id as totalCount " + sbSqlCondi.ToString()); if (dt != null && dt.Rows.Count > 0) { totalCount = dt.Rows.Count; } sbSqlCondi.AppendFormat(" limit {0},{1} ", query.Start, query.Limit); } if (query.ismail != -1 && query.countClass != -1) { sql.Append(sbSql.ToString() + " " + sbSqlCondi.ToString()); } else { sql.Append(sbCountSql.ToString() + " " + sbSqlCondi.ToString()); } return _access.getDataTable(sql.ToString()); } catch (Exception ex) { throw new Exception("SecretInfoLogDao-->GetSecretInfoLog-->" + ex.Message + sql.ToString(), ex); } }
public int UpdateSecretInfoLog(SecretInfoLog query) { StringBuilder sql = new StringBuilder(); sql.AppendFormat(@"set sql_safe_updates = 0; UPDATE secret_info_log SET input_pwd_date='{0}'", Common.CommonFunction.DateTimeToString(query.input_pwd_date)); sql.AppendFormat(@" WHERE log_id ='{0}'; set sql_safe_updates = 1;", query.log_id); try { return _access.execCommand(sql.ToString()); } catch (Exception ex) { throw new Exception("SecretInfoLogDao-->UpdateSecretInfoLog" + ex.Message + sql.ToString(), ex); } }
public int InsertSecretInfoLog(SecretInfoLog query) { StringBuilder sql = new StringBuilder(); sql.AppendFormat(@"INSERT INTO secret_info_log(user_id,createdate,ipfrom,url,input_pwd_date,type,related_id )"); sql.AppendFormat(@" VALUES('{0}','{1}','{2}','{3}','{4}',", query.user_id, Common.CommonFunction.DateTimeToString(query.createdate), query.ipfrom, query.url, Common.CommonFunction.DateTimeToString(query.input_pwd_date)); sql.AppendFormat(@" '{0}','{1}' );", query.type, query.related_id); try { return _access.execCommand(sql.ToString()); } catch (Exception ex) { throw new Exception("SecretInfoLogDao-->InsertSecretInfoLog" + ex.Message + sql.ToString(), ex); } }
public List<SecretInfoLog> GetMaxCreateLog(SecretInfoLog query) { StringBuilder sbSql = new StringBuilder(); StringBuilder sbSqlCondi = new StringBuilder(); try { sbSql.Append("SELECT log_id,sl.user_id,sl.createdate,ipfrom,url,input_pwd_date"); sbSql.Append(",sl.type,sl.related_id "); sbSqlCondi.Append(" FROM secret_info_log as sl "); sbSqlCondi.Append(" WHERE 1=1 "); if (query.user_id != 0) { sbSqlCondi.AppendFormat(" and sl.user_id = '{0}'", query.user_id); } if (!string.IsNullOrEmpty(query.ipfrom)) { sbSqlCondi.AppendFormat(" and sl.ipfrom='{0}'", query.ipfrom); } sbSqlCondi.Append(" order by sl.createdate desc,sl.log_id desc ");//非常重要,不可更改 sbSql.Append(sbSqlCondi.ToString()); return _access.getDataTableForObj<SecretInfoLog>(sbSql.ToString()); } catch (Exception ex) { throw new Exception("SecretInfoLogDao-->GetSecretInfoLog(SecretInfoLog query)-->" + ex.Message + sbSql.ToString(), ex); } }