System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于网约车平台,具体涉及一种根据渠道号设置接口访问权限的方法。
技术介绍
1、网约车平台与越来越多的渠道对接了业务,接口调用量也越来越多。当前接口文档都是对外公开,渠道有了合法的渠道名和验签key之后,就可以从接口文档中自行选择需要对接的接口,然后开发并最终线上运行。但对于这部分渠道自行选择对接的接口,网约车平台并不知情;一旦渠道调用接口的qps过高,则会导致平台服务器计算资源压力过大问题。除此之外,若网约车平台想了解每个渠道在线上都对接了哪些接口也是较为困难的。如何禁止渠道随意对接接口并较为方便的得知各渠道线上已对接的接口情况,成为待解决的问题。
技术实现思路
1、本专利技术的目的在于提供一种根据渠道号设置接口访问权限的方法,以解决上述
技术介绍
中提出的问题。
2、为实现上述目的,本专利技术提供如下技术方案:一种根据渠道号设置接口访问权限的方法,具体步骤包括:s1:拦截渠道方的请求;
3、s2:解析请求参数,并尝试获取渠道号和请求接口名;
4、s3:判断渠道号和请求接口名是否都非空,若都非空则继续,否则返回错误提示信息;
5、s4:以渠道号作为key,调用redis的smembers命令;从缓存中获取该渠道有权限调用的接口集合;
6、s5:判断集合是否为空,为空则执行步骤s6,否则执行步骤s9;
7、s6:根据渠道号从数据库中查询有权限调用的接口名集合;
8、s7:判断集合是否为空,若为空
9、s8:以渠道号作为key,接口名集合作为value;调用redis的sadd命令,将从数据库中获取到的集合放入缓存中;
10、s9:判断集合中是否包含请求的接口名,如果不包含则执行步骤s10;否则执行步骤s12;
11、s10:组织渠道名、访问接口名、访问时间参数,调用钉钉发送消息服务发送告警消息;
12、s11:返回无权限调用异常并结束;
13、s12:继续处理原接口的验签逻辑;
14、s13:继续处理原接口的其他业务处理逻辑;
15、s14:返回并结束。
16、优选的,redis缓存是一种高效的缓存中间件,程序可以很轻易并极快速的从中获取数据。
17、优选的,步骤s4中,提到的redis缓存的smembers命令的作用:命令返回对应key关联集合中的所有成员。
18、优选的,步骤s8中,提到的redis缓存的sadd命令的作用:命令将一个或多个成员元素加入到key关联的集合中。
19、优选的,步骤s8中,将从数据库中获取到的集合放入缓存中,是为了以便下次使用。
20、与现有技术相比,本专利技术的有益效果是:本专利技术设计的方法,可快速方便地统计各渠道线上当前正调用的接口服务概况;渠道无法随意对接接口,必须经我方平台评估qps调用量并授权之后才可调用,避免导致平台后端服务计算资源紧张现象。
本文档来自技高网...【技术保护点】
1.一种根据渠道号设置接口访问权限的方法,其特征在于:具体步骤包括:S1:拦截渠道方的请求;
2.根据权利要求1所述的一种根据渠道号设置接口访问权限的方法,其特征在于:Redis缓存是一种高效的缓存中间件,程序可以很轻易并极快速的从中获取数据。
3.根据权利要求1所述的一种根据渠道号设置接口访问权限的方法,其特征在于:步骤S4中,提到的Redis缓存的smembers命令的作用:命令返回对应Key关联集合中的所有成员。
4.根据权利要求1所述的一种根据渠道号设置接口访问权限的方法,其特征在于:步骤S8中,提到的Redis缓存的sadd命令的作用:命令将一个或多个成员元素加入到Key关联的集合中。
5.根据权利要求1所述的一种根据渠道号设置接口访问权限的方法,其特征在于:步骤S8中,将从数据库中获取到的集合放入缓存中,是为了以便下次使用。
【技术特征摘要】
1.一种根据渠道号设置接口访问权限的方法,其特征在于:具体步骤包括:s1:拦截渠道方的请求;
2.根据权利要求1所述的一种根据渠道号设置接口访问权限的方法,其特征在于:redis缓存是一种高效的缓存中间件,程序可以很轻易并极快速的从中获取数据。
3.根据权利要求1所述的一种根据渠道号设置接口访问权限的方法,其特征在于:步骤s4中,提到的redis缓存的smembers命令...
【专利技术属性】
技术研发人员:赵东辉,
申请(专利权)人:首约科技北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。