/// <summary> /// 判断是否在白名单内,支持通配符 **** /// </summary> /// <param name="url"></param> /// <returns></returns> public bool CheckWhiteList(string url) { List <Urlobj> WhiteList = _cache.Cof_GetICaching <List <Urlobj> >("WhiteList", () => Appsettings.app <Urlobj>("WhiteList"), 10); if (!WhiteList.Cof_CheckAvailable()) { return(false); } foreach (var Urlitem in WhiteList) { if (Urlitem.url.Equals(url, StringComparison.OrdinalIgnoreCase)) { return(true); } if (Urlitem.url.IndexOf("****") > 0) { string UrlitemP = Urlitem.url.Replace("****", ""); if (Regex.IsMatch(url, UrlitemP, RegexOptions.IgnoreCase)) { return(true); } if (url.Length >= UrlitemP.Length && UrlitemP.ToLower() == url.Substring(0, UrlitemP.Length).ToLower()) { return(true); } } } return(false); }