/// <summary> /// 检查用户的网卡Mac地址 /// </summary> /// <param name="macAddress">Mac地址</param> /// <returns>是否符合限制</returns> private bool CheckMacAddress(string macAddress, string userId) { bool returnValue = false; List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BaseParameterEntity.FieldParameterId, userId)); parameters.Add(new KeyValuePair <string, object>(BaseParameterEntity.FieldCategoryId, "MacAddress")); parameters.Add(new KeyValuePair <string, object>(BaseParameterEntity.FieldEnabled, 1)); DataTable dt = DbLogic.GetDataTable(this.DbHelper, BaseParameterEntity.TableName, parameters); if (dt.Rows.Count > 0) { string parameterCode = string.Empty; string parameterCotent = string.Empty; for (int i = 0; i < dt.Rows.Count; i++) { parameterCode = dt.Rows[i][BaseParameterEntity.FieldParameterCode].ToString(); parameterCotent = dt.Rows[i][BaseParameterEntity.FieldParameterContent].ToString(); returnValue = (macAddress.ToLower()).Equals(parameterCotent.ToLower());//简单格式化一下 if (returnValue) { break; } } } return(returnValue); }
/// <summary> /// 检查用户IP地址 /// </summary> /// <param name="ipAddress">IP地址</param> /// <returns>是否符合限制</returns> private bool CheckIPAddress(string ipAddress, string userId) { bool returnValue = false; List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BaseParameterEntity.FieldParameterId, userId)); parameters.Add(new KeyValuePair <string, object>(BaseParameterEntity.FieldCategoryId, "IPAddress")); parameters.Add(new KeyValuePair <string, object>(BaseParameterEntity.FieldEnabled, 1)); DataTable dt = DbLogic.GetDataTable(this.DbHelper, BaseParameterEntity.TableName, parameters); if (dt.Rows.Count > 0) { string parameterCode = string.Empty; string parameterCotent = string.Empty; for (int i = 0; i < dt.Rows.Count; i++) { parameterCode = dt.Rows[i][BaseParameterEntity.FieldParameterCode].ToString(); parameterCotent = dt.Rows[i][BaseParameterEntity.FieldParameterContent].ToString(); switch (parameterCode) { // 匹配单个IP case "Single": returnValue = CheckSingleIPAddress(ipAddress, parameterCotent); break; // 匹配ip地址段 case "Range": returnValue = CheckIPAddressWithRange(ipAddress, parameterCotent); break; // 匹配带掩码的地址段 case "Mask": returnValue = CheckIPAddressWithMask(ipAddress, parameterCotent); break; } if (returnValue) { break; } } } return(returnValue); }
////////////////////////////////////////////////////////////////////////////////////////////////////// /// 资源权限设定关系相关 ////////////////////////////////////////////////////////////////////////////////////////////////////// #region public string[] GetResourcePermissionItemIds(BaseUserInfo userInfo, string resourceCategory, string resourceId) /// <summary> /// 获取资源权限主键数组 /// </summary> /// <param name="userInfo">用户</param> /// <param name="resourceCategory">资源分类</param> /// <returns>主键数组</returns> public string[] GetResourcePermissionItemIds(BaseUserInfo userInfo, string resourceCategory, string resourceId) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif string[] returnValue = null; using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldResourceCategory, resourceCategory)); parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldResourceId, resourceId)); DataTable dataTable = DbLogic.GetDataTable(dbHelper, BasePermissionEntity.TableName, parameters); returnValue = BaseBusinessLogic.FieldToArray(dataTable, BasePermissionEntity.FieldPermissionItemId); BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.PermissionService_GetResourcePermissionItemIds, MethodBase.GetCurrentMethod()); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return(returnValue); }