CN110795137A - 权限配置方法、装置、系统、电子设备及可读介质 - Google Patents

权限配置方法、装置、系统、电子设备及可读介质 Download PDF

Info

Publication number
CN110795137A
CN110795137A CN201810879951.9A CN201810879951A CN110795137A CN 110795137 A CN110795137 A CN 110795137A CN 201810879951 A CN201810879951 A CN 201810879951A CN 110795137 A CN110795137 A CN 110795137A
Authority
CN
China
Prior art keywords
authority
management request
data warehouse
configuration
configuration template
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810879951.9A
Other languages
English (en)
Inventor
郑伟娜
董璐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Financial Technology Holding Co Ltd
Original Assignee
Beijing Jingdong Financial Technology Holding Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Financial Technology Holding Co Ltd filed Critical Beijing Jingdong Financial Technology Holding Co Ltd
Priority to CN201810879951.9A priority Critical patent/CN110795137A/zh
Publication of CN110795137A publication Critical patent/CN110795137A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种权限配置方法、装置、系统、电子设备及可读介质,权限配置方法包括:获取权限管理请求,所述权限管理请求中包含端口信息;根据所述端口信息将所述权限管理请求进行解析;根据数据仓库类型为解析后的权限管理请求生成权限配置模板;以及将所述权限配置模板储存至数据仓库中以完成所述权限配置。本申请的权限配置方法、装置、系统、电子设备及可读介质,能够在提供可视化界面以及丰富的调用接口的基础上,根据不同的分支策略匹配相应权限模板的权限配置,并解决用户的冲突、高并发问题。

Description

权限配置方法、装置、系统、电子设备及可读介质
技术领域
本申请涉及互联网技术领域,尤其涉及一种权限配置方法、装置、系统、电子设备及可读介质。
背景技术
在互联网行业飞速发展的今天,企业的产品迭代速度十分迅速。研发效率作为产品迭代的关键,在其中起着非常重要的作用。而与产品研发息息相关的就是源代码,代码是一个公司最重要的资源。因此,用于托管代码的版本控制平台应运而生。例如,SVN(Subversion)是目前主流的版本控制工具之一。随着软件开发规模的不断扩大和开发复杂性的不断提高,如何高效、安全地管理版本控制平台中的代码权限是每个公司都需要解决的问题。以SVN为例,目前主流的权限管理办法一般是两种。其中一种是权限管理员手工编辑代码库的权限配置文件。然而,随着用户数量增加,依靠极少数管理员手工维护配置文件将困难重重,这体现在用户数量增加,使得权限配置文件内容过多,增加了管理员理解和管理难度;依靠手工操作配置文件易引入冗余及其他错误信息,无法保证文件内容的简洁性和正确性;缺少友好简易的可视化管理界面。上述方法的缺点具体如下:
a)需要远程登录代码服务器,操作繁琐;
b)代码服务器的安全性能要求比较高,频繁远程登录会有安全隐患;
c)不能直观的看到目前每个人在任何一个分支上的权限情况;
d)没有对外开放任何接口,无法与其他平台集成;
e)没有完备的审批审核流程,不符合审计规范;
f)没有美化的UI界面进行操作,容易出现错误;
另一种是采用开源软件,例如svnMaia,可以进行可视化管理权限,但是却不具备与其他系统集成的能力,例如与erp系统对接,保障离职人员离职后的权限清理等,也无法根据不同的分支策略生成不同的权限模板。开源软件的缺点如下:
a)相对比较黑盒,很少有人能够详细了解其内部逻辑实现机制;
b)比较封闭,没有丰富的接口提供调用,几乎无法与其他平台进行集成开发;
c)扩展性低,很多情况下没有办法满足高并发,大数据量的情况;
d)UI设计简单,不能很方便的从各个维度展示当前权限配置情况;
e)缺少统计功能,对权限分配情况无法获得一个全局理解;
f)缺少监控机制与安全规则配置机制,对权限的分配有一定风险。
发明内容
有鉴于此,本申请提供一种权限配置方法、装置、系统、电子设备及计算机可读介质,能够在提供可视化界面以及丰富的调用接口的基础上,根据不同的分支策略匹配相应权限模板以完成权限配置,并解决了用户的冲突、高并发问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的第一方面,提出一种权限配置方法,该方法包括:获取权限管理请求,所述权限管理请求中包含端口信息;根据所述端口信息将所述权限管理请求进行解析;根据数据仓库类型为解析后的权限管理请求生成权限配置模板;以及将所述权限配置模板储存至数据仓库中以完成所述权限配置。
在本申请的一种示例性实施例中,还包括:接收来自用户的所述权限管理请求;以及将所述权限管理请求加入处理队列。
在本申请的一种示例性实施例中,获取权限管理请求包括:通过分布式服务获取所述权限管理请求。
在本申请的一种示例性实施例中,根据数据仓库类型为解析后的权限管理请求生成权限配置模板包括:根据数据仓库类型,通过分支模式为解析后的权限管理请求生成权限配置模板;或根据数据仓库类型,通过自由模式为解析后的权限管理请求生成权限配置模板。
在本申请的一种示例性实施例中,所述权限管理请求包括SVN版本控制工具的权限管理请求;根据数据仓库类型为解析后的权限管理请求生成权限配置模板包括:简易SVN路径认证处理工厂根据数据仓库类型为解析后的权限管理请求生成权限配置模板。
在本申请的一种示例性实施例中,简易SVN路径认证处理工厂根据数据仓库类型为解析后的权限管理请求生成权限配置模板包括:简易SVN路径认证处理工厂根据数据仓库类型生成对应的处理对象;以及所述处理对象调用路径认证处理方法进行权限设置以生成所述权限配置模板。
在本申请的一种示例性实施例中,简易SVN路径认证处理工厂根据数据仓库类型生成对应的处理对象以下情况至少一者:简易SVN路径认证处理工厂根据数据仓库类型生成经典分支多认证处理对象以生成所述权限配置模板;简易SVN路径认证处理工厂根据数据仓库类型生成分支多认证处理对象以生成所述权限配置模板;以及简易SVN路径认证处理工厂根据数据仓库类型生成文档认证处理对象以生成所述权限配置模板。
在本申请的一种示例性实施例中,所述处理对象调用路径认证处理方法进行权限设置以生成所述权限配置模板包括:通过创建SVN路径认证设置方法生成权限设置对象;以及所述处理对象调用路径认证处理方法进行对所述权限设置对象进行权限设置以生成所述权限配置模板。
在本申请的一种示例性实施例中,将所述权限配置模板储存至数据仓库中以完成所述权限配置包括:根据所述权限配置模板重写所述数据仓库中的多个函数以完成所述权限配置。
在本申请的一种示例性实施例中,根据所述权限配置模板重写所述数据仓库中的多个函数以完成所述权限配置包括以下至少一者:根据所述权限配置模板重写数据仓库中的configAuthView函数以完成所述权限配置;根据所述权限配置模板重写数据仓库中的configAuth函数以完成所述权限配置;根据所述权限配置模板重写数据仓库中的rsyncSvnServerAuth函数以完成所述权限配置;根据所述权限配置模板重写数据仓库中的configAuthViewAdd函数以完成所述权限配置;以及根据所述权限配置模板重写数据仓库中的configAuthViewDelete函数以完成所述权限配置。
根据本申请实施例的第二方面,提出一种权限配置装置,该装置包括:接收模块,用于获取权限管理请求,所述权限管理请求中包含端口信息;解析模块,用于根据所述端口信息将所述权限管理请求进行解析;模板模块,用于根据数据仓库类型为解析后的权限管理请求生成权限配置模板;以及配置模块,用于将所述权限配置模板储存至数据仓库中以完成所述权限配置。
根据本申请实施例的第三方面,提出一种权限配置系统,该系统包括:配置系统,用于获取权限管理请求,所述权限管理请求中包含端口信息;并根据所述端口信息将所述权限管理请求进行解析;并根据数据仓库类型为解析后的权限管理请求生成权限配置模板;SVN数据仓库,用于接收所述权限配置模板,并根据所述权项配置模板完成权限配置。
根据本申请实施例的第四方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项所述的权限配置方法。
根据本申请实施例的第五方面,提出一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如上述任一项所述的权限配置方法。
根据本申请的权限配置方法、装置、电子设备及计算机可读介质,能够在提供可视化界面以及丰富的调用接口的基础上,根据不同的分支策略匹配相应权限模板以完成权限配置,并解决了用户的冲突、高并发问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种权限配置方法及装置的系统框图。
图2是根据一示例性实施例示出的一种权限配置方法的流程图。
图3是根据一示例性实施例示出的一种权限配置方法的流程图。
图4是根据一示例性实施例示出的一种权限配置方法的流程图。
图5是根据一示例性实施例示出的一种权限配置方法的设计框架图。
图6是根据一示例性实施例示出的一种权限配置方法的SVN示意图。
图7是根据一示例性实施例示出的一种权限配置方法的类图。
图8是根据一示例性实施例示出的一种权限配置装置的框图。
图9是根据一示例性实施例示出的一种权限配置装置的框图。
图10是根据一示例性实施例示出的一种用于权限配置的电子设备的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图仅为本发明的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
下面结合附图对本发明示例实施方式进行详细说明。
图1是根据一示例性实施例示出的一种权限配置方法及装置的系统框图。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所进行操作的权限管理请求提交系统提供支持的后台服务器(仅为示例)。后台服务器可以对接收到的权限管理请求等数据进行分析等处理,并将处理结果(例如权限创建成功的通知--仅为示例)反馈给终端设备。
服务器105可例如获取权限管理请求,权限管理请求中包含端口信息;服务器105可例如根据端口信息将权限管理请求进行解析;服务器105可例如根据数据仓库类型为解析后的权限管理请求生成权限配置模板;服务器105可例如将权限配置模板储存至数据仓库中以完成权限配置;服务器105还可例如接收来自用户的权限管理请求;以及将权限管理请求加入处理队列。
服务器105可以是一个实体的服务器,还可例如为多个服务器组成,服务器105中的一部分可例如作为本申请中的权限配置任务接收系统,用于接收将要执行权限配置命令的任务;以及服务器105中的一部分还可例如作为本申请中的权限配置系统,用于获取权限管理请求,权限管理请求中包含端口信息;根据端口信息将权限管理请求进行解析;根据数据仓库类型为解析后的权限管理请求生成权限配置模板;以及将权限配置模板储存至数据仓库中以完成权限配置。
需要说明的是,本申请实施例所提供的权限配置方法可以由服务器105执行,相应地,权限配置的装置可以设置于服务器105中。而提供给用户用于权限配置请求与获取权限配置结果的请求端一般位于终端设备101、102、103中。
图2是根据一示例性实施例示出的一种权限配置方法的流程图。根据图2示出的权限配置的方法,能够在提供可视化界面以及丰富的调用接口的基础上,根据不同的分支策略匹配相应权限模板以完成权限配置,并解决了用户的冲突、高并发问题。
下面,将参照图2,对本申请示例性实施例中的权限配置方法进行说明。
在步骤S210中,获取权限管理请求,权限管理请求中包含端口信息。根据示例实施例,获取权限管理请求可以包括:通过分布式服务获取权限管理请求。分布式的部署可提高系统对高并发的要求,并且方便扩展。例如,可以通过分布式的权限配置服务完成对网关工程的调用,以完成进程间通讯和系统间的消息通知,但本发明的技术方案并不限于此。其中,可以添加权限配置通用接口服务以对SVN权限文件进行解析与读取。权限配置通用接口服务上层是SVN仓库权限管理模块,它可以向上提供服务给权限视图web端调用,向下调用权限配置通过接口服务实现对SVN权限的处理。
根据示例实施例,步骤S210还可以包括:接收来自用户的权限管理请求;以及将权限管理请求加入处理队列。其中,处理队列的模式提供了异步处理机制,解决了大批量用户同时密集型设置权限导致冲突的问题。
在步骤S220中,根据端口信息将权限管理请求进行解析。例如,可以在SVN仓库权限管理模块的下层添加权限配置通用接口服务,以向上提供服务给权限视图web端调用,向下调用权限配置通过接口服务实现对SVN权限的处理。
在步骤S230中,根据数据仓库类型为解析后的权限管理请求生成权限配置模板。其中,数据仓库的类型可例如为经典分支开发策略。
根据示例实施例,根据数据仓库类型为解析后的权限管理请求生成权限配置模板包括:根据数据仓库类型,通过分支模式为解析后的权限管理请求生成权限配置模板;或根据数据仓库类型,通过自由模式为解析后的权限管理请求生成权限配置模板。其中,权限配置可以包含两个核心类,分别是分支模式和自由模式。在分支模式下,根目录和base不能添加读写权限,而自由模式可以设置任何路径的权限。而上述两种模式的权限继承处理逻辑是一样的,从以下三点来分析权限处理的逻辑。
(1)权限覆盖,举例说明,假如首先在分支1.0.0设置了只读权限,又在其上一级branches设置了只读权限,那么这时分支1.0.0会在数据库里被标记为继承权限,即上一级branches的只读权限覆盖了下一级1.0.0的只读权限(读写权限不会被覆盖,只会覆盖相同的权限),此时之前在1.0.0分支上设置的只读权限不能被删除。
(2)继承下来的用户权限不能删除,不管子目录是否单独设置过权限,只要是上一级有权限,子目录的权限就不能删除,那么反过来,删除根目录的权限,会把下面所有的继承的权限删除掉,做到权限所见即所得。
(3)子目录如果继承了上一级权限那么不能再单独设置权限,举例说明,假如根目录设置了读写权限,那么下面的所有子目录不能再单独设置读写权限。
根据示例实施例,权限管理请求可以包括SVN版本控制工具的权限管理请求;根据数据仓库类型为解析后的权限管理请求生成权限配置模板可以包括:简易SVN路径认证处理工厂根据数据仓库类型为解析后的权限管理请求生成权限配置模板。其中,简易SVN路径认证处理工厂可以为一简单工厂方法,可根据路径信息获取仓库中对路径设置权限的对象。
根据示例实施例,简易SVN路径认证处理工厂根据数据仓库类型为解析后的权限管理请求生成权限配置模板包括:简易SVN路径认证处理工厂根据数据仓库类型生成对应的处理对象;以及处理对象调用路径认证处理方法进行权限设置以生成权限配置模板。例如,上述三种处理对象可以包括:经典分支多认证处理对象、分支多认证处理对象以及文档认证处理对象。
根据示例实施例,简易SVN路径认证处理工厂根据数据仓库类型生成对应的处理对象可以包括以下情况至少一者:简易SVN路径认证处理工厂根据数据仓库类型生成经典分支多认证处理对象以生成权限配置模板;简易SVN路径认证处理工厂根据数据仓库类型生成分支多认证处理对象以生成权限配置模板;以及简易SVN路径认证处理工厂根据数据仓库类型生成文档认证处理对象以生成权限配置模板。如前所述,上述三种对象应根据数据仓库的类型进行选择。
根据示例实施例,处理对象调用路径认证处理方法进行权限设置以生成权限配置模板包括:通过创建SVN路径认证设置方法生成权限设置对象;以及处理对象调用路径认证处理方法进行对权限设置对象进行权限设置以生成权限配置模板。
在步骤S240中,将权限配置模板储存至数据仓库中以完成权限配置。
根据示例实施例,将权限配置模板储存至数据仓库中以完成权限配置可以包括:根据权限配置模板重写数据仓库中的多个函数以完成权限配置。
根据示例实施例,根据权限配置模板重写数据仓库中的多个函数以完成权限配置可以包括以下至少一者:根据权限配置模板重写数据仓库中的configAuthView函数以完成权限配置;根据权限配置模板重写数据仓库中的configAuth函数以完成权限配置;根据权限配置模板重写数据仓库中的rsyncSvnServerAuth函数以完成权限配置;根据权限配置模板重写数据仓库中的configAuthViewAdd函数以完成权限配置;以及根据权限配置模板重写数据仓库中的configAuthViewDelete函数以完成权限配置。上述五种函数均可用于配置认证视图,以达到权限配置的可视化。
根据本申请的权限配置方法,通过根据端口信息对权限管理请求进行解析,并根据数据仓库类型为解析后的权限管理请求生成权限配置模板,以及将权限配置模板储存至数据仓库中,能够在提供可视化界面以及丰富的调用接口的基础上,根据不同的分支策略匹配相应权限模板以完成权限配置,并解决了用户的冲突、高并发问题。
图3是根据一示例性实施例示出的一种权限配置方法的流程图。参照图3,权限配置方法可以包括:
步骤S310,判断数据仓库类型。若为经典分支开发策略类型,执行步骤S320,若为分支开发策略,执行步骤S330,若为文档开发策略,执行步骤S340。
步骤S320,生成经典分支多认证处理对象以生成权限配置模板。例如,
步骤S330,生成分支多认证处理对象以生成权限配置模板。
步骤S340,生成文档认证处理对象以生成权限配置模板。其中,可以根据路径信息获取仓库中对路径设置权限的对象。例如,当对root目录进行设置时,createSvnPathAuthSetter()将根据该路径生成一个ClassicalBranchMultiSvnRootAuthSetter对象。
图4是根据一示例性实施例示出的一种权限配置方法的流程图。参照图4,权限配置方法可以包括:
步骤S410,根据权限配置模板重写数据仓库中的configAuthView函数以完成权限配置。
步骤S420,根据权限配置模板重写数据仓库中的configAuth函数以完成权限配置。
步骤S430,根据权限配置模板重写数据仓库中的rsyncSvnServerAuth函数以完成权限配置。
步骤S440,根据权限配置模板重写数据仓库中的configAuthViewAdd函数以完成权限配置。
步骤S450,根据权限配置模板重写数据仓库中的configAuthViewDelete函数以完成权限配置。其中,可以根据步骤S410、S420、S430、S440、S450中的一个或多个步骤来完成权限配置,其选择的依据可以是路径设置的特点。此外,configAuthView函数、configAuth函数、rsyncSvnServerAuth函数可以配置认证视图,以达到权限配置可视化的效果。
图5是根据一示例性实施例示出的一种权限配置方法的设计框架图。参照图5,SVN首先通过一个网关工程直接控制权限配置文件,该工程实现队列机制,完成对权限配置文件的修复与保存功能;解决了大批量用户同时密集型设置权限导致冲突的问题,提高了系统的性能。使用队列机制能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃。消息队列提供了异步处理机制,允许用户把一个消息放入队列,但并不立即处理它。
其次,SVN通过分布式的权限配置服务完成对网关工程的调用,以完成进程间通讯和系统间的消息通知,提高了系统对高并发的要求,并且便于扩展。因为消息队列解耦了整个处理过程,所以增大消息入队和处理的频率是很容易的,只要另外增加处理过程即可,不需要改变代码、不需要调节参数,扩展就像调大电力按钮一样简单。
图6是根据一示例性实施例示出的一种权限配置方法的SVN示意图。参照图6,SVN服务器对外提供服务可采用多种协议,当采用Http协议对外提供服务时,用户通过发送http请求来访问仓库,下载代码或提交代码等。图6所示的SVN采用了Apache web服务器对外提供服务,Apache中有两个模块:mod_authz_svn模块和mod_dav_svn模块。当用户的Http请求到Apache服务后,首先对用户进行用户认证与权限验证,上述验证的处理逻辑在mod_authz_svn模块中实现。经过权限验证后,mod_dav_svn模块对请求中数据做相应处理,实现与SVN仓库的真正交互。
在mod_authz_svn模块的权限验证过程中。SVN权限是有一定规则的,包括权限的继承与截断,读写权限大于只读权限,权限就近原则等。权限配置通用接口服务提供了对SVN权限文件解析,读写的基础服务,它独立于业务,可提供对仓库权限的设置、仓库权限的读写等接口给任何业务方使用。权限配置通用接口服务上层可以是SVN仓库权限管理模块,它向上提供服务给权限视图web端调用,向下调用权限配置通过接口服务实现对SVN权限的处理。这个模块包括三个部分:SVN权限视图设置、svn权限设置与翻译机。SVN权限视图设置模块实现了SVN仓库目录的权限的所及即所得,例如,当在web页面A仓库的一级目录配置了一个权限后,在A仓库的二级目录也将会呈现对一级目录配置的权限。它将所见的权限数据格式化存储于数据库。翻译机则将可视化的权限数据翻译成实际的权限规则。SVN权限设置模块处理权限规则,之后调用权限配置通用服务接口将权限规则写入权限文件。
图7是根据一示例性实施例示出的一种权限配置方法的类图。参照图7,BranchMultiSvnBaseAuthSetter和ClassicalBranchMultiSvnBaseAuthSe--tter是权限设置的两个核心类,分别是分支模式和自由模式设置权限的类方法,在分支模式下,根目录和base不能添加读写权限;而自由模式可以设置任何路径的权限。
下面将对SVN权限管理模块的核心方法实现作简要介绍。SVN的权限管理紧密结合于并行分支开发策略。目前的分支开发策略可以分为两种:分支开发策略和经典分支开发测试。分支开发策略的特点是任何一个仓库的根目录下三种路径base、branches、tags。用户对根目录、base、tag只能设置只读权限,branches目录可设置读写权限。经典分支开发策略与分支开发策略的不同点为可对base设置读写权限。
对路径设置权限的接口实现整体采用了工厂设计模式。服务请求进入Controller后,Controller调用SimpleSvnPathAuthHandlerFactory工厂,工厂根据仓库的类型产生仓库权限设置的对象。比较若为经典分支开发策略的仓库进行权限设置,工厂将产生ClassicalBranchMultiAuthHandler对象进行权限设置。ClassicalBranchMultiAuthHandler对象统一调用pathAuthS et()方法进行权限设置。pathAuthSet()方法中将调用createSvnPathAuthSett er()方法生成权限设置对象进行权限设置。其中createSvnPathAuthSetter()为一个简单工厂方法,可根据路径信息获取仓库中对路径设置权限的对象。比如对root目录进行设置,createSvnPathAuthSetter()将产生一个Classical BranchMultiSvnRootAuthSetter对象。ClassicalBranchMultiSvnRootAuthSet ter对象将最终完成在经典分支模块仓库中对root目录的权限设置。
AbstractSvnPathAuthSetter是一个抽象类,定义了统一实现权限设置的authset()方法。所有最终路径级别实现权限设置的对象均继承Abstract SvnPathAuthSetter,根据各自对路径设置的特点重写configAuthView()、c onfigAuth()、rsyncSvnServerAuth()、configAuthViewAdd()、configAuthVi ewDelete()。其中,configAuthView()、configAuth()、rsyncSvnServerAuth()可以配置认证视图,以达到权限配置的可视化。
根据本申请的权限配置方法,能够根据权限管理请求中的端口信息对其进行解析,以及根据数据仓库类型生成权限配置模板,并将配置模板储存至数据仓库中以完成权限配置。本申请的权限配置方法在提供可视化界面以及丰富的调用接口的基础上,根据不同的分支策略匹配相应权限模板以完成权限配置,并解决了用户的冲突、高并发问题。综上,本申请的权限配置方法具有如下有益效果:
(1)提供不同视图角度更为全面的权限信息,提高交互性,降低了权限管理的难度,提高了研发效率;
(2)提供丰富的接口调用,便于其他平台进行集成开发,更加灵活和开放。
(3)完备的权限审批审核机制,记录整个权限来源记录,管理清晰,达到审计要求;
(4)对仓库及权限进行集中统一管理,监测仓库访问及下载情况,及时对仓库进行安全性保护。
(5)支持邮件审批,完全自助化管理权限,省时省力。
(6)配置权限时,完美映射权限继承关系,做到权限可见即所得;
(7)支持不同的分支策略不同的权限模板,比如分支模式不允许配置主干权限,自由模式可以配置任何权限。
图8是根据一示例性实施例示出的一种权限配置装置的框图。参照图5,权限配置装置可以包括:接收模块810、解析模块820、模板模块830以及配置模块840。
在权限配置装置中,接收模块810用于获取权限管理请求,权限管理请求中包含端口信息。根据示例实施例,获取权限管理请求可以包括:通过分布式服务获取权限管理请求。分布式的部署可提高系统对高并发的要求,并且方便扩展。例如,可以通过分布式的权限配置服务完成对网关工程的调用,以完成进程间通讯和系统间的消息通知,但本发明的技术方案并不限于此。其中,可以添加权限配置通用接口服务以对SVN权限文件进行解析与读取。权限配置通用接口服务上层是SVN仓库权限管理模块,它可以向上提供服务给权限视图web端调用,向下调用权限配置通过接口服务实现对SVN权限的处理。
解析模块820用于根据端口信息将权限管理请求进行解析。例如,可以在SVN仓库权限管理模块的下层添加权限配置通用接口服务,以向上提供服务给权限视图web端调用,向下调用权限配置通过接口服务实现对SVN权限的处理。
模板模块830用于根据数据仓库类型为解析后的权限管理请求生成权限配置模板。例如,模板模块可以根据数据仓库类型,通过分支模式为解析后的权限管理请求生成权限配置模板;或根据数据仓库类型,通过自由模式为解析后的权限管理请求生成权限配置模板。
配置模块840用于将权限配置模板储存至数据仓库中以完成权限配置。例如,配置模块840可根据权限配置模板重写数据仓库中的多个函数以完成权限配置。其中,多个函数包括但不限于如下几种函数:configAuthView函数、configAuth函数、rsyncSvnServerAuth函数、configAuthViewAdd函数、configAuthViewDelete函数。
根据本申请的权限配置装置,通过根据端口信息对权限管理请求进行解析,并根据数据仓库类型为解析后的权限管理请求生成权限配置模板,以及将权限配置模板储存至数据仓库中,能够在提供可视化界面以及丰富的调用接口的基础上,根据不同的分支策略匹配相应权限模板以完成权限配置,并解决了用户的冲突、高并发问题。
图9是根据一示例性实施例示出的一种权限配置系统的示意图。参照图9,权限配置系统可以包括配置系统910以及SVN数据仓库920。
在权限配置系统中,配置系统910用于获取权限管理请求,权限管理请求中包含端口信息;并根据端口信息将权限管理请求进行解析;并根据数据仓库类型为解析后的权限管理请求生成权限配置模板。
SVN数据仓库920用于接收权限配置模板,并根据权项配置模板完成权限配置。
根据本申请的权限配置系统,能够能够在提供可视化界面以及丰富的调用接口的基础上,根据不同的分支策略匹配相应权限模板以完成权限配置,并解决用户的冲突、高并发问题。
图10是根据一示例性实施例示出的一种用于权限配置的电子设备的框图。
下面参照图10来描述根据本申请的这种实施方式的电子设备1000。图10显示的电子设备1000仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从储存部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。例如,中央处理单元801可以执行如图2、图3、图4中的一个或多个所示的步骤。
在RAM 1003中,还存储有系统操作所需的各种程序和数据,例如仓库类型、端口信息等。CPU 1001、ROM1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括触摸屏、键盘等的输入部分1006;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分1007;包括闪存等的储存部分1008;以及包括诸如无线网卡、高速网卡等的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如半导体存储器、磁盘等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入储存部分1008。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者智能设备等)执行根据本发明实施例的方法,例如图2、图3、图4中的一个或多个所示的步骤。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其他实施例。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
应当理解的是,本发明并不限于这里已经示出的详细结构、附图方式或实现方法,相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (14)

1.一种权限配置方法,其特征在于,包括:
获取权限管理请求,所述权限管理请求中包含端口信息;
根据所述端口信息将所述权限管理请求进行解析;
根据数据仓库类型为解析后的权限管理请求生成权限配置模板;以及
将所述权限配置模板储存至数据仓库中以完成所述权限配置。
2.如权利要求1所述的方法,其特征在于,还包括:
接收来自用户的所述权限管理请求;以及
将所述权限管理请求加入处理队列。
3.如权利要求1所述的方法,其特征在于,获取权限管理请求包括:
通过分布式服务获取所述权限管理请求。
4.如权利要求1所述的方法,其特征在于,根据数据仓库类型为解析后的权限管理请求生成权限配置模板包括:
根据数据仓库类型,通过分支模式为解析后的权限管理请求生成权限配置模板;或
根据数据仓库类型,通过自由模式为解析后的权限管理请求生成权限配置模板。
5.如权利要求1所述的方法,其特征在于,所述权限管理请求包括SVN版本控制工具的权限管理请求;
根据数据仓库类型为解析后的权限管理请求生成权限配置模板包括:
简易SVN路径认证处理工厂根据数据仓库类型为解析后的权限管理请求生成权限配置模板。
6.如权利要求1所述的方法,其特征在于,简易SVN路径认证处理工厂根据数据仓库类型为解析后的权限管理请求生成权限配置模板包括:
简易SVN路径认证处理工厂根据数据仓库类型生成对应的处理对象;以及
所述处理对象调用路径认证处理方法进行权限设置以生成所述权限配置模板。
7.如权利要求6所述的方法,其特征在于,简易SVN路径认证处理工厂根据数据仓库类型生成对应的处理对象以下情况至少一者:
简易SVN路径认证处理工厂根据数据仓库类型生成经典分支多认证处理对象以生成所述权限配置模板;
简易SVN路径认证处理工厂根据数据仓库类型生成分支多认证处理对象以生成所述权限配置模板;以及
简易SVN路径认证处理工厂根据数据仓库类型生成文档认证处理对象以生成所述权限配置模板。
8.如权利要求6所述的方法,其特征在于,所述处理对象调用路径认证处理方法进行权限设置以生成所述权限配置模板包括:
通过创建SVN路径认证设置方法生成权限设置对象;以及
所述处理对象调用路径认证处理方法进行对所述权限设置对象进行权限设置以生成所述权限配置模板。
9.如权利要求1所述的方法,其特征在于,将所述权限配置模板储存至数据仓库中以完成所述权限配置包括:
根据所述权限配置模板重写所述数据仓库中的多个函数以完成所述权限配置。
10.如权利要求9所述的方法,其特征在于,根据所述权限配置模板重写所述数据仓库中的多个函数以完成所述权限配置包括以下至少一者:
根据所述权限配置模板重写数据仓库中的configAuthView函数以完成所述权限配置;
根据所述权限配置模板重写数据仓库中的configAuth函数以完成所述权限配置;
根据所述权限配置模板重写数据仓库中的rsyncSvnServerAuth函数以完成所述权限配置;
根据所述权限配置模板重写数据仓库中的configAuthViewAdd函数以完成所述权限配置;以及
根据所述权限配置模板重写数据仓库中的configAuthViewDelete函数以完成所述权限配置。
11.一种权限配置装置,其特征在于,包括:
接收模块,用于获取权限管理请求,所述权限管理请求中包含端口信息;
解析模块,用于根据所述端口信息将所述权限管理请求进行解析;
模板模块,用于根据数据仓库类型为解析后的权限管理请求生成权限配置模板;以及
配置模块,用于将所述权限配置模板储存至数据仓库中以完成所述权限配置。
12.一种权限配置系统,其特征在于,包括:
配置系统,用于获取权限管理请求,所述权限管理请求中包含端口信息;并根据所述端口信息将所述权限管理请求进行解析;并根据数据仓库类型为解析后的权限管理请求生成权限配置模板;
SVN数据仓库,用于接收所述权限配置模板,并根据所述权项配置模板完成权限配置。
13.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
CN201810879951.9A 2018-08-03 2018-08-03 权限配置方法、装置、系统、电子设备及可读介质 Pending CN110795137A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810879951.9A CN110795137A (zh) 2018-08-03 2018-08-03 权限配置方法、装置、系统、电子设备及可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810879951.9A CN110795137A (zh) 2018-08-03 2018-08-03 权限配置方法、装置、系统、电子设备及可读介质

Publications (1)

Publication Number Publication Date
CN110795137A true CN110795137A (zh) 2020-02-14

Family

ID=69425784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810879951.9A Pending CN110795137A (zh) 2018-08-03 2018-08-03 权限配置方法、装置、系统、电子设备及可读介质

Country Status (1)

Country Link
CN (1) CN110795137A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111488172A (zh) * 2020-03-11 2020-08-04 中移(杭州)信息技术有限公司 一种权限控制方法、装置和可读存储介质
CN112597510A (zh) * 2020-12-16 2021-04-02 中国工商银行股份有限公司 访问控制方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089582A1 (en) * 2007-09-27 2009-04-02 Tasneem Brutch Methods and apparatus for providing upgradeable key bindings for trusted platform modules
CN103368765A (zh) * 2012-04-10 2013-10-23 阿里巴巴集团控股有限公司 一种管理系统权限添加方法和装置
CN103488791A (zh) * 2013-09-30 2014-01-01 华为技术有限公司 数据访问方法、系统及数据仓库
US20160117235A1 (en) * 2014-10-28 2016-04-28 Zscaler, Inc. Software automation and regression management systems and methods
CN106778345A (zh) * 2016-12-19 2017-05-31 网易(杭州)网络有限公司 基于操作权限的数据的处理方法和装置
CN107579865A (zh) * 2017-10-18 2018-01-12 北京奇虎科技有限公司 分布式代码服务器的权限管理方法、装置及系统
CN108132987A (zh) * 2017-12-14 2018-06-08 浙江航天恒嘉数据科技有限公司 一种数据查询系统及方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089582A1 (en) * 2007-09-27 2009-04-02 Tasneem Brutch Methods and apparatus for providing upgradeable key bindings for trusted platform modules
CN103368765A (zh) * 2012-04-10 2013-10-23 阿里巴巴集团控股有限公司 一种管理系统权限添加方法和装置
CN103488791A (zh) * 2013-09-30 2014-01-01 华为技术有限公司 数据访问方法、系统及数据仓库
US20160117235A1 (en) * 2014-10-28 2016-04-28 Zscaler, Inc. Software automation and regression management systems and methods
CN106778345A (zh) * 2016-12-19 2017-05-31 网易(杭州)网络有限公司 基于操作权限的数据的处理方法和装置
CN107579865A (zh) * 2017-10-18 2018-01-12 北京奇虎科技有限公司 分布式代码服务器的权限管理方法、装置及系统
CN108132987A (zh) * 2017-12-14 2018-06-08 浙江航天恒嘉数据科技有限公司 一种数据查询系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张存超;任洪敏;: "基于Web的SVN权限管理系统的设计与实现", 微型机与应用, no. 11 *
李艺: "基于SVN的版本与权限管理系统的设计与开发", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 03 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111488172A (zh) * 2020-03-11 2020-08-04 中移(杭州)信息技术有限公司 一种权限控制方法、装置和可读存储介质
CN111488172B (zh) * 2020-03-11 2023-12-26 中移(杭州)信息技术有限公司 一种权限控制方法、装置和可读存储介质
CN112597510A (zh) * 2020-12-16 2021-04-02 中国工商银行股份有限公司 访问控制方法及装置
CN112597510B (zh) * 2020-12-16 2024-01-30 中国工商银行股份有限公司 访问控制方法及装置

Similar Documents

Publication Publication Date Title
US10705942B1 (en) Simulated testing of API
US11561846B2 (en) API notebook tool
US11372997B2 (en) Automatic audit logging of events in software applications performing regulatory workloads
US10223106B1 (en) Customized static source code analysis
CN109670297B (zh) 业务权限的开通方法、装置、存储介质及电子设备
US11019168B2 (en) System and method for integrating cloud applications into a cloud service broker platform using an automated, universal connector package
CN107479882B (zh) 投保页面的生成方法、生成装置、介质及电子设备
US10656971B2 (en) Agile framework for vertical application development and delivery
US10114861B2 (en) Expandable ad hoc domain specific query for system management
US9459859B2 (en) Template derivation for configuration object management
CN110661776B (zh) 敏感数据溯源方法、装置、安全网关及系统
CN113268336B (zh) 一种服务的获取方法、装置、设备以及可读介质
CN113268260A (zh) 用于web前端的路由方法及装置
CN109460363B (zh) 自动化测试方法、装置、电子设备及计算机可读介质
CN110795137A (zh) 权限配置方法、装置、系统、电子设备及可读介质
Nedeltcheva et al. Challenges towards modeling and generating infrastructure-as-code
CN111897728B (zh) 接口调试方法及相关设备
CN114816361A (zh) 拼搭工程生成方法、装置、设备、介质和程序产品
Yuen et al. GitOps and Kubernetes: Continuous Deployment with Argo CD, Jenkins X, and Flux
CN113377648A (zh) 软件系统诊断方法、装置、电子设备及计算机可读介质
Knape Dynamic Automated Selection and Deployment of Software Components within a Heterogeneous Multi-Platform Environment
CN115705188A (zh) 前端页面的生成方法及相关装置
CN115543807A (zh) 一种自动化回归测试方法、装置、计算机设备及存储介质
CN116028473A (zh) 一种数据源配置管理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: Jingdong Digital Technology Holding Co.,Ltd.

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Digital Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone, 100176

Applicant before: BEIJING JINGDONG FINANCIAL TECHNOLOGY HOLDING Co.,Ltd.

CB02 Change of applicant information