예제 #1
0
        /// <summary>
        /// 验证access_token是否通过 验证项:是否为空 是否存在 是否在有效期呢
        /// 验证method name 即方法名 该方法是否包含在scope调用权限中
        /// </summary>
        /// <returns>验证通过返回true,否则,返回false</returns>
        public override bool IsValidate()
        {
            base.IsValidate();
            if (string.IsNullOrEmpty(base.CurHttpRequest.Context.Request[KEY_ACCESS_TOKEN]))
            {
                throw new AjaxException("准许令牌access_token不能为空");
            }

            if (CheckAuthoration == null)
            {
                throw new AjaxException("权限验证方法为空");
            }

            OAuthParams oAuthParams = new OAuthParams()
            {
                AccessToken = base.CurHttpRequest.WebParameters[KEY_ACCESS_TOKEN],
                MethodName  = base.CurHttpRequest.CurrentMethodInfo.Method.Name.ToLower()
            };

            //执行检查参数事件
            if (CheckAuthoration(oAuthParams))
            {
                //验证通过
                NameValueCollection webParameters = new NameValueCollection(base.CurHttpRequest.WebParameters);
                webParameters.Add("username", oAuthParams.UserName);
                base.CurHttpRequest.WebParameters = webParameters;
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #2
0
        /// <summary>
        /// 相对于OAuth方法的  认证事件
        /// </summary>
        /// <param name="oAuthParams"></param>
        /// <returns></returns>
        private static bool OpenApiAttr_CheckAuthoration(OAuthParams oAuthParams)
        {
            //在这里还可以检测 该token的访问频率 IP之类的 可以作用到限流量 写LOG

            oAuthParams.UserName = "******";
            return true;
        }
예제 #3
0
        /// <summary>
        /// 验证access_token是否通过 验证项:是否为空 是否存在 是否在有效期呢
        /// 验证method name 即方法名 该方法是否包含在scope调用权限中
        /// </summary>
        /// <returns>验证通过返回true,否则,返回false</returns>
        public override bool IsValidate()
        {
            base.IsValidate();
            if (string.IsNullOrEmpty(base.CurrentHttpRequest.Context.Request[KEY_ACCESS_TOKEN]))
            {
                throw new AjaxException("准许令牌access_token不能为空");
            }

            if (CheckAuthoration == null)
            {
                throw new AjaxException("权限验证方法为空");
            }

            OAuthParams oAuthParams=new OAuthParams(){
                AccessToken = base.CurrentHttpRequest.WebParameters[KEY_ACCESS_TOKEN],
             MethodName=base.CurrentHttpRequest.CurrentMethodInfo.Method.Name.ToLower()
            };

            //执行检查参数事件
            if(CheckAuthoration(oAuthParams))
            {
                //验证通过
                NameValueCollection webParameters = new NameValueCollection(base.CurrentHttpRequest.WebParameters);
                webParameters.Add("username", oAuthParams.UserName);
                base.CurrentHttpRequest.WebParameters = webParameters;
                return true;
            }else{
                return false;
            }
        }