/// <summary> /// 校验通行证 /// </summary> /// <param name="account"></param> /// <param name="accesstoken"></param> /// <returns></returns> private QyAccountPassToken GetPassToken(QyAccount account, string accesstoken) { var passtoken = CacheHelper.Get(string.Format("WxAccountToken{0}{1}", account.ID, accesstoken)) as QyAccountPassToken; if (passtoken == null) { passtoken = entities.Set <QyAccountPassToken>().Where(c => c.QyID == account.ID && c.PassToken == accesstoken).FirstOrDefault(); if (passtoken != null) { CacheHelper.Set(string.Format("WxAccountToken{0}{1}", account.ID, accesstoken), passtoken, cachesecond); } } return(passtoken); }
/// <summary> /// 校验通行证 /// </summary> /// <param name="account"></param> /// <param name="accesstoken"></param> /// <returns></returns> private bool ValidateAccessToken(QyAccount account, string accesstoken) { var passtoken = GetPassToken(account, accesstoken); if (passtoken != null) { if (passtoken.AllowIP != "*") { var clientip = GetClientIp(); return(passtoken.AllowIP.Split(',').Contains(clientip)); } return(true); } return(false); }