/// <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); } }
/// <summary> /// 相对于OAuth方法的 认证事件 /// </summary> /// <param name="oAuthParams"></param> /// <returns></returns> private static bool OpenApiAttr_CheckAuthoration(OAuthParams oAuthParams) { //在这里还可以检测 该token的访问频率 IP之类的 可以作用到限流量 写LOG oAuthParams.UserName = "******"; return true; }
/// <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; } }