Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }