管理员IP匹配方法
1 //最终方法 2 3 4 5 public static bool GetAdminLoginIP(string LoginIp) 6 { 7 List<MasterModel> list = null; 8 list = (List<MasterModel>)Utility.MakeCacheAll[Common.Constraints.C_ADMINUSERLOGINIP]; 9 if (list != null) 10 { 11 foreach (MasterModel model in list) 12 { 13 if (model.Name == "*.*.*.*")//全部IP允许 14 { 15 return true; 16 } 17 else if (model.Name == LoginIp)//允许IP正好存在当前IP 18 { 19 return true; 20 } 21 else //开始匹配IP 22 { 23 int flag = 0;//成功匹配次数 开始默认为0 24 string[] loginIPArray = LoginIp.Split('.');//登录IP 25 string[] strIP = model.Name.Split('.');//允许IP 26 for (int i = 0; i < 4; i++) 27 { 28 if (strIP[i] != "*") 29 { 30 if (strIP[i] == loginIPArray[i]) 31 { 32 flag += 1;//如果IP段匹配成功匹配次数+1 33 } 34 else 35 { 36 flag = 0;//匹配失败 匹配次数归0 并跳出当前循环 37 break; 38 } 39 } 40 else 41 { 42 flag += 1;//*段默认匹配成功 匹配次数+1 43 } 44 } 45 if (flag == 4)//匹配成功 46 { 47 return true; 48 } 49 //else 50 //{ 51 // continue;//跳出当前循环 进行下次循环 52 //} 53 } 54 } 55 return false; 56 } 57 return false; 58 }