一种车辆saas系统的网关权限验证方法技术方案

技术编号:33416281 阅读:11 留言:0更新日期:2022-05-19 00:10
本发明专利技术公开了一种车辆saas系统的网关权限验证方法,包括以下步骤:S1、采用二进制按位设置网关权限;S2、在步骤S1的基础上,分别赋予用户权限值和网关接口权限值;S3、在步骤S2的基础上,当用户访问任一网关接口时,将用户的权限值与该网关的接口的权限值进行按位“与”运算,若运算结果大于0,则该用户有权访问该网关接口,若运算结果等于0,则该用户无权访问该网关接口。在验证权限过程中,现有技术需要对用户拥有的权限项进行遍历比对,需要进行多次运算,而本发明专利技术只需要一次位运算即可得到验证结果,从计算机运算耗时上算,效率是现有技术的10倍以上,因为位运算在计算机所有运算中是效率最高的。效率最高的。

【技术实现步骤摘要】
一种车辆saas系统的网关权限验证方法


[0001]本专利技术涉及服务网关权限验证
,特别涉及一种车辆saas系统的网 关权限验证方法。

技术介绍

[0002]通常一个应用服务在提供接口时会对访问者进行权限的验证,而访问者也 会有不同的权限对不同的接口进行访问。当提供的后端服务应用越来越多时, 权限的控制将会变得重复而繁琐。因此网关开始承担权限控制的职责,将权限 控制放在网关统一处理,减少各个业务系统对权限的关注,能把精力专注于业 务的实现上。在具体的实现方案上,行业内常用的方法是在网关对用户的权限 与其要访问的接口权限进行校验。
[0003]现有技术中,至少存在以下一个缺点:一、用户拥有的每一个权限都需要 一条数据来记录,需要耗费更多的数据表来维护用户拥有的权限数据,增加了 维护成本;二、对权限进行验证的过程中,必须要对用户拥有的每一个权限进 行比对,因此有多少个权限,就要进行多少次计算。另外加上对数据的读取, 遍历,过程比较耗时,程序实现也比较繁琐;三、权限校验只能校验用户能否 访问一个接口,但并不能判断用户访问的数据是否属于用户自己,假如用户拥 有操作自己数据的权限,但用户传入的参数是访问别人的数据,那将会造成极 大的风险,比如可以将别人的数据进行删除。

技术实现思路

[0004]本专利技术的目的在于解决现有技术的不足,提供一种车辆saas系统的网关权 限验证方法。
[0005]本专利技术解决上述技术问题采用的技术方案是:
[0006]一种车辆saas系统的网关权限验证方法,包括以下步骤:
[0007]S1、采用二进制按位设置网关权限;
[0008]S2、在步骤S1的基础上,分别赋予用户权限值和网关接口权限值;
[0009]S3、在步骤S2的基础上,当用户访问任一网关接口时,将用户的权限值与该网 关的接口的权限值进行按位“与”运算,若运算结果大于0,则该用户有权访问 该网关接口,若运算结果等于0,则该用户无权访问该网关接口。以上技术方案 中,采用二进制建立车辆saas系统的网关权限的定义,通过用户的权限值和网 关接口权限值进行按位“与”运算,可以直接方便地得出用户是否有权限访问 该网关,与现有技术相比,极大地简化网关权限验证运算,提升网关权限验证 效率。
[0010]作为优选,步骤S1中,首先将二进制整数的每一位,当作一个权限的标记, 当这一位为1时,表示有权限,这一位为0时,表示没有权限;然后分别赋予 相应的权限值给车辆saas系统中的编辑车辆权限、删除车辆权限、管理职务权 限、管理员工权限。
[0011]作为优选,车辆saas系统中的编辑车辆权限、删除车辆权限、管理职务权 限、管理员工权限被赋予的权限值分别为0001、0010、0100、1000。以上技术 方案中,编辑车辆权限、
删除车辆权限、管理职务权限、管理员工权限仅为本 专利技术中车辆saas系统中例举的需要控制的4个权限,当需要赋予其他权限值时, 只需要同理依次类推即可,例如10000等。
[0012]作为优选,步骤S2中,至少赋予用户所述编辑车辆权限、删除车辆权限、 管理职务权限、管理员工权限的一个权限值。以上技术方案中,值得注意的是, 该用户为本专利技术中至少允许访问车辆saas系统的一项网关的用户,若与车辆saas 系统无关人员则不赋予其任一权限值。
[0013]作为优选,若用户被赋予1个以上的所述编辑车辆权限、删除车辆权限、 管理职务权限、管理员工权限的权限值,则将该1个以上的权限值进行相加, 将相加后得到的权限值与网关接口的权限值进行按位“与”运算。以上技术方 案中,因4个权限值分别为0001、0010、0100、1000,因此用户被赋予的权限 值与网关接口的权限值的相加运算十分简单明了,极大地简化了系统的权限验 证。
[0014]作为优选,本专利技术的一种车辆saas系统的网关权限验证方法还包括用于规 避了用户访问非自身资源风险的参数映射方法,包括以下步骤:
[0015]Q1、获取用户登录车辆saas系统时的用户关键信息,将用户关键信息缓存在内 存数据中并生成一个session Id,作为获取用户缓存信息的索引id;
[0016]Q2、将生成的索引id返回给用户,并要求每次访问接口时必须使用索引id以校 验用户身份;
[0017]Q3、当用户访问接口时,要求提供session Id与自身的用户id,在经过网关时, 通过session Id在内存数据库中取到缓存的用户信息,然后进行用户的网关权限 验证;
[0018]Q4、用户的网关权限验证成功之后,将接口请求参数的用户id替换成缓存内的 用户id,替换完成后再放行去访问服务接口。
[0019]以上技术方案中,通过用户缓存信息的索引id可以规避访问非自身资源的 风险。
[0020]步骤Q3中当用户访问商家资源时,则需提供商家资源Id,相应的步骤Q4 中将接口请求参数的商家用户id替换成缓存内的商家id。
[0021]作为优选,用户关键信息包括用户id、所属商户id、姓名、手机号、角色、 用户权限值。
[0022]本专利技术具有的有益效果是:
[0023]1、本专利技术的一种车辆saas系统的网关权限验证方法,在权限验证方面,极 大简化了权限数据的维护与验证,现有技术中对用户权限的记录需要专门的一 个关联数据,关联到对应的权限上,而本专利技术只需要一个数值就能描述拥有的 所有权限,在验证权限过程中,现有技术需要对用户拥有的权限项进行遍历比 对,需要进行多次运算,而本专利技术只需要一次位运算即可得到验证结果,从计 算机运算耗时上算,效率是现有技术的10倍以上,因为位运算在计算机所有运 算中是效率最高的;
[0024]2、在安全方面,本专利技术将用户权限值与校验过程都放在服务端,用户无法 通过伪造权限来获得更大权限,而行业现有的方案尽管对请求参数进行了加密, 但如果本地的密钥被破解出来,那加密也丧失了意义;
[0025]3、在数据安全方面也通过参数映射方式,本专利技术规避了用户访问非自身资 源的风险,避免了对他人数据的破坏。
具体实施方式
[0026]以下结合附图和实施方式对本专利技术作进一步的说明。
[0027]本实施例的一种车辆saas系统的网关权限验证方法,包括以下步骤:
[0028]S1、采用二进制按位设置网关权限;
[0029]S2、在步骤S1的基础上,分别赋予用户权限值和网关接口权限值;
[0030]S3、在步骤S2的基础上,当用户访问任一网关接口时,将用户的权限值与该网 关的接口的权限值进行按位“与”运算,若运算结果大于0,则该用户有权访问 该网关接口,若运算结果等于0,则该用户无权访问该网关接口。
[0031]步骤S1中,首先将二进制整数的每一位,当作一个权限的标记,当这一位 为1时,表示有权限,这一位为0时,表示没有权限;然后分别赋予相应的权 限值给车辆saas系统中的编辑车辆权限、删除车辆权限、管理职本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种车辆saas系统的网关权限验证方法,其特征在于,包括以下步骤:S1、采用二进制按位设置网关权限;S2、在步骤S1的基础上,分别赋予用户权限值和网关接口权限值;S3、在步骤S2的基础上,当用户访问任一网关接口时,将用户的权限值与该网关的接口的权限值进行按位“与”运算,若运算结果大于0,则该用户有权访问该网关接口,若运算结果等于0,则该用户无权访问该网关接口。2.根据权利要求1所述的一种车辆saas系统的网关权限验证方法,其特征在于,步骤S1中,首先将二进制整数的每一位,当作一个权限的标记,当这一位为1时,表示有权限,这一位为0时,表示没有权限;然后分别赋予相应的权限值给车辆saas系统中的编辑车辆权限、删除车辆权限、管理职务权限、管理员工权限。3.根据权利要求2所述的一种车辆saas系统的网关权限验证方法,其特征在于,车辆saas系统中的编辑车辆权限、删除车辆权限、管理职务权限、管理员工权限被赋予的权限值分别为0001、0010、0100、1000。4.根据权利要求3所述的一种车辆saas系统的网关权限验证方法,其特征在于,步骤S2中,至少赋予用户所述编辑车辆权限、删除车辆权限、管理职务权限、管理员工权限的一个权限值。5.根据权利要求...

【专利技术属性】
技术研发人员:陶小波项坚吴映阁李志文党帅
申请(专利权)人:浙江帅车数据科技有限公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1