G06F8/71 G06F21/45
1.一种SVN仓库权限管理方法,其特征在于,包括:
获取SVN权限申请信息报文,所述SVN权限申请信息报文为使用AES128/CBC模式进行加密传输的http/json报文;
对所述SVN权限申请信息报文进行解密处理,得到SVN权限申请数据,所述SVN权限申请数据包括:申请人信息、SVN仓库名称、SVN仓库的URL路径、权限类型、SVN账号信息、使用AES128/ECB模式加密处理后的SVN密码、所属组、权限申请起止时间以及申请原因;
使用activity工作流框架根据角、分工和权限条件对所述SVN权限申请数据按照预设审批处理规则进行审批处理,所述预设审批处理规则为预先根据角、分工和权限条件设置的审批处理流程;
在所述SVN权限申请数据审批通过后,将所述SVN权限申请数据存储至数据库,并按照预设规则操作远程SVN服务器上的文件进行更新。
2.根据权利要求1所述的方法,其特征在于,所述将所述SVN权限申请数据存储至数据库,具体为:
确定查询条件,所述查询条件包括:所述申请人信息、所述SVN仓库名称、所述SVN仓库的URL路径和所述SVN账号信息;
判断所述查询条件是否在所述数据库中已存储;
若是,则将所述SVN权限申请数据根据所述查询条件对所述数据库中的SVN权限申请数据进行修改;
若否,则将所述SVN权限申请数据存储在所述数据库中。
3.根据权利要求1或2所述的方法,其特征在于,所述按照预设规则操作远程SVN服务器上的文件进行更新,具体为:
实时将所述数据库中存储的所述SVN权限申请数据读取到SFTP客户端,并对所述SVN密码使用AES128/ECB模式进行解密处理;
所述SFTP客户端与所述远程SVN服务器建立连接,通过所述SFTP客户端操作所述远程SVN服务器上的文件,对所述SVN仓库中控制用户和权限的passwd文件和authz文件以SVN仓库为维度进行备份,文件名称包含时间戳信息,并将文件名称记录下来,接着对所述SVN仓库中控制用户和权限的passwd文件和authz文件的内容清空;
判断所述远程SVN服务器的时间是否在所述权限申请起止时间区间内;
若所述远程SVN服务器的时间在所述权限申请起止时间区间内,则将所述权限申请起止时间内的集合中的所有SVN权限申请数据填充至所述SVN仓库中控制用户和权限的passwd文件和authz文件中,若填充过程中任何错误会将上述备份的passwd文件和authz文件替换当前的文件。
4.根据权利要求1或2所述的方法,其特征在于,所述按照预设规则操作远程SVN服务器上的文件进行更新,具体为:
在预设时间段将所述数据库中存储的所有SVN权限申请数据读取到SFTP客户端的数据集合中,并对所述数据集合中的所有SVN密码使用AES128/ECB模式进行解密处理;
所述SFTP客户端与所述远程SVN服务器建立连接,通过所述SFTP客户端操作所述远程SVN服务器上的文件,对所述SVN仓库中控制用户和权限的passwd文件和authz文件以SVN仓库为维度进行备份,文件名称包含时间戳信息,并将文件名称记录下来,接着对所有所述SVN仓库中控制用户和权限的passwd文件和authz文件的内容清空;
对所述数据集合中的所有SVN权限申请数据逐条判断所述远程SVN服务器的时间是否在对应的所述权限申请起止时间区间内;
若所述远程SVN服务器的时间在对应的所述权限申请起止时间区间内,则将所述权限申请起止时间内的集合中的所有SVN权限申请数据填充至所述SVN仓库中控制用户和权限的passwd文件和authz文件中,若填充过程中任何错误会将上述备份的passwd文件和authz文件替换当前的文件。
5.一种SVN仓库权限管理装置,其特征在于,包括:
第一处理单元,用于获取SVN权限申请信息报文,所述SVN权限申请信息报文为使用AES128/CBC模式进行加密传输的http/json报文;
第二处理单元,用于对所述SVN权限申请信息报文进行解密处理,得到SVN权限申请数据,所述SVN权限申请数据包括:申请人信息、SVN仓库名称、SVN仓库的URL路径、权限类型、SVN账号信息、使用AES128/ECB模式加密处理后的SVN密码、所属组、权限申请起止时间以及申请原因;
第三处理单元,用于使用activity工作流框架根据角、分工和权限条件对所述SVN权限申请数据按照预设审批处理规则进行审批处理,所述预设审批处理规则为预先根据角、分工和权限条件设置的审批处理流程;
第四处理单元,用于在所述SVN权限申请数据审批通过后,将所述SVN权限申请数据存储至数据库,并按照预设规则操作远程SVN服务器上的文件进行更新。
6.根据权利要求5所述的装置,其特征在于,所述第四处理单元具体用于:
确定查询条件,所述查询条件包括:所述申请人信息、所述SVN仓库名称、所述SVN仓库的URL路径和所述SVN账号信息;
判断所述查询条件是否在所述数据库中已存储;
若是,则将所述SVN权限申请数据根据所述查询条件对所述数据库中的SVN权限申请数据进行修改;
若否,则将所述SVN权限申请数据存储在所述数据库中。
7.根据权利要求5或6所述的装置,其特征在于,所述第四处理单元具体用于:
实时将所述数据库中存储的所述SVN权限申请数据读取到SFTP客户端,并对所述SVN密码使用AES128/ECB模式进行解密处理;
所述SFTP客户端与所述远程SVN服务器建立连接,通过所述SFTP客户端操作所述远程SVN服务器上的文件,对所述SVN仓库中控制用户和权限的passwd文件和authz文件以SVN仓库为维度进行备份,文件名称包含时间戳信息,并将文件名称记录下来,接着对所述SVN仓库中控制用户和权限的passwd文件和authz文件的内容清空;
判断所述远程SVN服务器的时间是否在所述权限申请起止时间区间内;
若所述远程SVN服务器的时间在所述权限申请起止时间区间内,则将所述权限申请起止时间内的集合中的所有SVN权限申请数据填充至所述SVN仓库中控制用户和权限的passwd文件和authz文件中,若填充过程中任何错误会将上述备份的passwd文件和authz文件替换当前的文件。
8.根据权利要求5或6所述的装置,其特征在于,所述第四处理单元具体用于:
在预设时间段将所述数据库中存储的所有SVN权限申请数据读取到SFTP客户端的数据集合中,并对所述数据集合中的所有SVN密码使用AES128/ECB模式进行解密处理;
所述SFTP客户端与所述远程SVN服务器建立连接,通过所述SFTP客户端操作所述远程SVN服务器上的文件,对所述SVN仓库中控制用户和权限的passwd文件和authz文件以SVN仓库为维度进行备份,文件名称包含时间戳信息,并将文件名称记录下来,接着对所有所述SVN仓库中控制用户和权限的passwd文件和authz文件的内容清空;
对所述数据集合中的所有SVN权限申请数据逐条判断所述远程SVN服务器的时间是否在对应的所述权限申请起止时间区间内;
若所述远程SVN服务器的时间在对应的所述权限申请起止时间区间内,则将所述权限申请起止时间内的集合中的所有SVN权限申请数据填充至所述SVN仓库中控制用户和权限的passwd文件和authz文件中,若填充过程中任何错误会将上述备份的passwd文件和authz文件替换当前的文件。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-4中任一项所述的SVN仓库权限管理方法。
10.一种非暂时性机器可读存储介质,其特征在于,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-4中任一项所述的SVN仓库权限管理方法。
本申请属于计算机数据处理技术领域,尤其涉及一种SVN仓库权限管理方法及装置。
目前,大部分科技公司都会采用SVN仓库(Subversion的简称,一个开放源码的、支持多用户的版本控制和代码控制系统)来管理公司的代码和文档等资产。在SVN管理过程中,需要开发人员将开发好的代码提交至SVN仓库进行版本管理,并设置主干发布或者分支发布等代码发布策略;产品设计人员和架构师将UI图、产品设计文档、产品架构设计方案等文档提交至SVN仓库进行版本管理。由此可见,SVN仓库里面存放着公司最核心的资产,所以对SVN仓库的权限管理十分重要。
相关技术中,SVN仓库权限申请主要包括权限申批、权限开通等,由于采用线下手动处理,在权限审批、权限开通和权限关闭时容易出错、且费时费力。
本申请提供了一种SVN仓库权限管理方法及装置,用以解决相关技术中由于采用线下手动处理,在权限审批、权限开通和权限关闭时容易出错、且费时费力的问题。
为了实现上述目的,本申请提供了以下技术方案:
一种SVN仓库权限管理方法,包括:
获取SVN权限申请信息报文,所述SVN权限申请信息报文为使用AES128/CBC模式进行加密传输的http/json报文;
对所述SVN权限申请信息报文进行解密处理,得到SVN权限申请数据,所述SVN权限申请数据包括:申请人信息、SVN仓库名称、SVN仓库的URL路径、权限类型、SVN账号信息、使用AES128/ECB模式加密处理后的SVN密码、所属组、权限申请起止时间以及申请原因;
使用activity工作流框架根据角、分工和权限条件对所述SVN权限申请数据按照预设审批处理规则进行审批处理,所述预设审批处理规则为预先根据角、分工和权限条件设置的审批处理流程;
在所述SVN权限申请数据审批通过后,将所述SVN权限申请数据存储至数据库,并按照预设规则操作远程SVN服务器上的文件进行更新。
优选的,所述将所述SVN权限申请数据存储至数据库,具体为:
确定查询条件,所述查询条件包括:所述申请人信息、所述SVN仓库名称、所述SVN仓库的URL路径和所述SVN账号信息;
判断所述查询条件是否在所述数据库中已存储;
若是,则将所述SVN权限申请数据根据所述查询条件对所述数据库中的SVN权限申请数据进行修改;
若否,则将所述SVN权限申请数据存储在所述数据库中。
优选的,所述按照预设规则操作远程SVN服务器上的文件进行更新,具体为:
实时将所述数据库中存储的所述SVN权限申请数据读取到SFTP客户端,并对所述SVN密码使用AES128/ECB模式进行解密处理;
所述SFTP客户端与所述远程SVN服务器建立连接,通过所述SFTP客户端操作所述远程SVN服务器上的文件,对所述SVN仓库中控制用户和权限的passwd文件和authz文件以SVN仓库为维度进行备份,文件名称包含时间戳信息,并将文件名称记录下来,接着对所述SVN仓库中控制用户和权限的passwd文件和authz文件的内容清空;
判断所述远程SVN服务器的时间是否在所述权限申请起止时间区间内;
若所述远程SVN服务器的时间在所述权限申请起止时间区间内,则将所述权限申请起止时间内的集合中的所有SVN权限申请数据填充至所述SVN仓库中控制用户和权限的passwd文件和authz文件中,若填充过程中任何错误会将上述备份的passwd文件和authz文件替换当前的文件。
优选的,所述按照预设规则操作远程SVN服务器上的文件进行更新,具体为:
在预设时间段将所述数据库中存储的所有SVN权限申请数据读取到SFTP客户端的数据集合中,并对所述数据集合中的所有SVN密码使用AES128/ECB模式进行解密处理;
所述SFTP客户端与所述远程SVN服务器建立连接,通过所述SFTP客户端操作所述远程SVN服务器上的文件,对所述SVN仓库中控制用户和权限的passwd文件和authz文件以SVN仓库为维度进行备份,文件名称包含时间戳信息,并将文件名称记录下来,接着对所有所述SVN仓库中控制用户和权限的passwd文件和authz文件的内容清空;
对所述数据集合中的所有SVN权限申请数据逐条判断所述远程SVN服务器的时间是否在对应的所述权限申请起止时间区间内;
若所述远程SVN服务器的时间在对应的所述权限申请起止时间区间内,则将所述权限申请起止时间内的集合中的所有SVN权限申请数据填充至所述SVN仓库中控制用户和权限的passwd文件和authz文件中,若填充过程中任何错误会将上述备份的passwd文件和authz文件替换当前的文件。
一种SVN仓库权限管理装置,包括:
第一处理单元,用于获取SVN权限申请信息报文,所述SVN权限申请信息报文为使用AES128/CBC模式进行加密传输的http/json报文;
第二处理单元,用于对所述SVN权限申请信息报文进行解密处理,得到SVN权限申请数据,所述SVN权限申请数据包括:申请人信息、SVN仓库名称、SVN仓库的URL路径、权限类型、SVN账号信息、使用AES128/ECB模式加密处理后的SVN密码、所属组、权限申请起止时间以及申请原因;
第三处理单元,用于使用activity工作流框架根据角、分工和权限条件对所述SVN权限申请数据按照预设审批处理规则进行审批处理,所述预设审批处理规则为预先根据角、分工和权限条件设置的审批处理流程;
第四处理单元,用于在所述SVN权限申请数据审批通过后,将所述SVN权限申请数据存储至数据库,并按照预设规则操作远程SVN服务器上的文件进行更新。
优选的,所述第四处理单元具体用于:
确定查询条件,所述查询条件包括:所述申请人信息、所述SVN仓库名称、所述SVN仓库的URL路径和所述SVN账号信息;
判断所述查询条件是否在所述数据库中已存储;
若是,则将所述SVN权限申请数据根据所述查询条件对所述数据库中的SVN权限申请数据进行修改;
若否,则将所述SVN权限申请数据存储在所述数据库中。
优选的,所述第四处理单元具体用于:
实时将所述数据库中存储的所述SVN权限申请数据读取到SFTP客户端,并对所述SVN密码使用AES128/ECB模式进行解密处理;
所述SFTP客户端与所述远程SVN服务器建立连接,通过所述SFTP客户端操作所述远程SVN服务器上的文件,对所述SVN仓库中控制用户和权限的passwd文件和authz文件以SVN仓库为维度进行备份,文件名称包含时间戳信息,并将文件名称记录下来,接着对所述SVN仓库中控制用户和权限的passwd文件和authz文件的内容清空;
判断所述远程SVN服务器的时间是否在所述权限申请起止时间区间内;
若所述远程SVN服务器的时间在所述权限申请起止时间区间内,则将所述权限申请起止时间内的集合中的所有SVN权限申请数据填充至所述SVN仓库中控制用户和权限的passwd文件和authz文件中,若填充过程中任何错误会将上述备份的passwd文件和authz文件替换当前的文件。
优选的,所述第四处理单元具体用于:
在预设时间段将所述数据库中存储的所有SVN权限申请数据读取到SFTP客户端的数据集合中,并对所述数据集合中的所有SVN密码使用AES128/ECB模式进行解密处理;
所述SFTP客户端与所述远程SVN服务器建立连接,通过所述SFTP客户端操作所述远程SVN服务器上的文件,对所述SVN仓库中控制用户和权限的passwd文件和authz文件以SVN仓库为维度进行备份,文件名称包含时间戳信息,并将文件名称记录下来,接着对所有所述SVN仓库中控制用户和权限的passwd文件和authz文件的内容清空;
对所述数据集合中的所有SVN权限申请数据逐条判断所述远程SVN服务器的时间是否在对应的所述权限申请起止时间区间内;
若所述远程SVN服务器的时间在对应的所述权限申请起止时间区间内,则将所述权限申请起止时间内的集合中的所有SVN权限申请数据填充至所述SVN仓库中控制用户和权限的passwd文件和authz文件中,若填充过程中任何错误会将上述备份的passwd文件和authz文件替换当前的文件。
一种电子设备,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上述所述的SVN仓库权限管理方法。
一种非暂时性机器可读存储介质,其特征在于,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上述所述的SVN仓库权限管理方法。
与传统技术相比,本申请所述的SVN仓库权限管理方法及装置,预先根据角、分工和权限条件设置的审批处理流程构建预设审批处理规则,当需要进行权限审批时,通过获取使用AES128/CBC模式进行加密传输的SVN权限申请信息报文,并对所述SVN权限申请信息报文进行解密处理,得到SVN权限申请数据,使用activity工作流框架根据角、分工和权限条件对SVN权限申请数据按照预设审批处理规则进行审批处理;在SVN权限申请数据审批通过后,将SVN权限申请数据存储至数据库,并按照预设规则操作远程SVN服务器上的文件进行更新。
本申请将SVN权限审批、权限管理等完整流程在线上完成,由SVN权限审批系统全权负责,申请人只需填写申请信息,待审批人完成审批之后,系统自动与SVN服务器进行对接,完成权限开通。
需要进一步的说明,本申请不仅适用于使用SVN作为版本管理工具的权限管理,也适用于Git、CVS等版本管理工具的权限管理,区别在于版本管理服务器上操作修改权限的具体细节不同。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种SVN仓库权限管理方法流程示意图;
图2为本申请实施例提供的按照预设规则操作远程SVN服务器上的文件进行更新的一种具体实时方式流程图;
图3为本申请实施例提供的按照预设规则操作远程SVN服务器上的文件进行更新的另一种具体实时方式流程图;
图4为本申请实施例提供的一种SVN仓库权限管理装置结构示意图;
图5为本申请实施例提供的一种电子设备结构示意图。
本申请提供的一种SVN仓库权限管理方法及装置,应用于SVN权限审批系统,将SVN权限审批、权限管理等完整流程搬至线上完成,由SVN权限审批系统全权负责,申请人只需填写申请信息,待审批人完成审批之后,系统自动与SVN服务器进行对接,完成权限开通,并考虑权限使用的期限,系统设置定时任务执行机制,定时将所有符合要求的申请开通权限,并将所有权限到期的记录关闭权限。
其发明目的在于:用以解决相关技术中由于采用线下手动处理,在权限审批、权限开通和权限关闭时容易出错、且费时费力的问题。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,为本申请实施例提供的一种SVN仓库权限管理方法流程图,该方法具体包括如下步骤:
S101:获取SVN权限申请信息报文,所述SVN权限申请信息报文为使用AES128/CBC模式进行加密传输的http/json报文。
需要预先开发前端WEB界面,设置SVN权限申请人信息填写页面,开发权限信息查询页面,开发审批人对SVN信息的审核页面,供申请人填写SVN申请信息,审批人审批、确认申请记录。申请人在WEB页面提交SVN权限申请数据,并通过使用AES128/CBC模式对SVN权限申请数据进行加密处理,并传输至SVN权限审批系统。
S102:对所述SVN权限申请信息报文进行解密处理,得到SVN权限申请数据。
考虑数据安全性,对SVN密码进行AES128/ECB模式加密处理,后续在进行数据处理过程中,需要对应的使用AES128/ECB模式对SVN权限申请信息报文进行解密,得到SVN权限申请数据,所述SVN权限申请数据包括:申请人信息、SVN仓库名称、SVN仓库的URL路径、权限类型、SVN账号信息、使用AES128/ECB模式加密处理后的SVN密码、所属组、权限申请起止时间以及申请原因等信息。需要说明的是,上述权限类型包括:可读或者可读可写。
S103:使用activity工作流框架根据角、分工和权限条件对所述SVN权限申请数据按照预设审批处理规则进行审批处理,所述预设审批处理规则为预先根据角、分工和权限条件设置的审批处理流程。
在本申请实施例中,使用activity完成工作流的开发,借助activity工作流框架对SVN权限申请数据实现整个审批流程。主要操作包括:利用activity插件画出需要的逻辑流程图、部署流程、启动流程、迭代处理流程,直到流程结束。
S104:在所述SVN权限申请数据审批通过后,将所述SVN权限申请数据存储至数据库,并按照预设规则操作远程SVN服务器上的文件进行更新。
本步骤中,将SVN申请详细数据插入数据库,分情况进行添加或修改。并通过声明式事务,对数据库操作异常时进行数据回滚。
需要说明的是,所述将所述SVN权限申请数据存储至数据库,具体为:
确定查询条件,所述查询条件包括:所述申请人信息、所述SVN仓库名称、所述SVN仓库的URL路径和所述SVN账号信息;
判断所述查询条件是否在所述数据库中已存储;
若是,则将所述SVN权限申请数据根据所述查询条件对所述数据库中的SVN权限申请数据进行修改;
若否,则将所述SVN权限申请数据存储在所述数据库中。
本申请实施例中,对远程SVN服务器上的文件进行更新可以实时进行更新,也可以作为定时任务来实现文件的更新。
具体的,对远程SVN服务器上的文件进行更新可以实时进行更新,如图2所示,上述所述按照预设规则操作远程SVN服务器上的文件进行更新,具体可以包括如下步骤:
S201:实时将所述数据库中存储的所述SVN权限申请数据读取到SFTP客户端,并对所述SVN密码使用AES128/ECB模式进行解密处理。
S202:所述SFTP客户端与所述远程SVN服务器建立连接,通过所述SFTP客户端操作所述远程SVN服务器上的文件,对所述SVN仓库中控制用户和权限的passwd文件和authz文件以SVN仓库为维度进行备份,文件名称包含时间戳信息,并将文件名称记录下来,接着对所述SVN仓库中控制用户和权限的passwd文件和authz文件的内容清空。
需要说明的是,考虑到中间可能存在的异常,需要事先对passwd文件和authz文件的内容进行备份(文件名称包括时间戳信息,并将文件名称记录下来),一旦发生异常,将使用备份文件替换正在操作的passwd文件和authz文件,避免对其他人使用SVN造成影响。
在本申请实施例中,SFTP客户端登录远程SVN服务器,建立客户端连接,其中登录所需的SVN服务器IP、端口号、用户名、密码等信息维护在SVN权限审批系统中。
S203:判断所述远程SVN服务器的时间是否在所述权限申请起止时间区间内,若是,则执行步骤S204;若否,则执行步骤S205。
S204:将所述权限申请起止时间内的集合中的所有SVN权限申请数据填充至所述SVN仓库中控制用户和权限的passwd文件和authz文件中。
S205:若填充过程中任何错误会将上述备份的passwd文件和authz文件替换当前的文件。
通过SFTP客户端与SVN服务器进行交互,将数据库中的SVN权限申请数据,根据权限起止时间,填充至SVN服务器上控制权限的passwd文件和authz文件中。
具体的,对远程SVN服务器上的文件进行更新通过定时任务来实现文件的更新,如图3所示,上述所述按照预设规则操作远程SVN服务器上的文件进行更新,具体可以包括如下步骤:
S301:在预设时间段将所述数据库中存储的所有SVN权限申请数据读取到SFTP客户端的数据集合中,并对所述数据集合中的所有SVN密码使用AES128/ECB模式进行解密处理。
本申请实施例中,使用定时任务执行框架设置定时执行计划,如每天晚上凌晨00:00,目的是根据SVN权限申请起止时间,对符合条件的申请记录,开通权限;对过期的记录关闭权限。
S302:所述SFTP客户端与所述远程SVN服务器建立连接,通过所述SFTP客户端操作所述远程SVN服务器上的文件,对所述SVN仓库中控制用户和权限的passwd文件和authz文件以SVN仓库为维度进行备份,文件名称包含时间戳信息,并将文件名称记录下来,接着对所有所述SVN仓库中控制用户和权限的passwd文件和authz文件的内容清空。
需要说明的是,考虑到中间可能存在的异常,需要事先对passwd文件和authz文件的内容进行备份(文件名称包括时间戳信息,并将文件名称记录下来),一旦发生异常,将使用备份文件替换正在操作的passwd文件和authz文件,避免对其他人使用SVN造成影响。
在本申请实施例中,SFTP客户端登录远程SVN服务器,建立客户端连接,其中登录所需的SVN服务器IP、端口号、用户名、密码等信息维护在SVN权限审批系统中。
S303:对所述数据集合中的所有SVN权限申请数据逐条判断所述远程SVN服务器的时间是否在对应的所述权限申请起止时间区间内,若是,则执行步骤S304;若否,则执行步骤S305。
S304:将所述权限申请起止时间内的集合中的所有SVN权限申请数据填充至所述SVN仓库中控制用户和权限的passwd文件和authz文件中。
S305:若填充过程中任何错误会将上述备份的passwd文件和authz文件替换当前的文件。
本申请实施例中,每天晚上凌晨00:00将数据库中所有SVN仓库的所有用户、权限申请数据取出放至数据集合中,逐条填充至SVN服务器上对应的权限管理文件中,本步骤中可以进行优化,为提高效率,可先进行查询,根据查询条件进行筛选,将符合要求的SVN权限记录出来放至数据集合中,进而填充至SVN服务器上对应的SVN仓库中控制用户和权限的passwd文件和authz文件中。
本申请实施例提供的SVN仓库权限管理方法,预先根据角、分工和权限条件设置的审批处理流程构建预设审批处理规则,当需要进行权限审批时,通过获取使用AES128/CBC模式进行加密传输的SVN权限申请信息报文,并对所述SVN权限申请信息报文进行解密处理,得到SVN权限申请数据,使用activity工作流框架根据角、分工和权限条件对SVN权限申请数据按照预设审批处理规则进行审批处理;在SVN权限申请数据审批通过后,将SVN权限申请数据存储至数据库,并按照预设规则操作远程SVN服务器上的文件进行更新。本申请实施例将SVN权限审批、权限管理等完整流程在线上完成,由SVN权限审批系统全权负责,申请人只需填写申请信息,待审批人完成审批之后,系统自动与SVN服务器进行对接,完成权限开通。
请参阅图4,基于上述实施例公开的一种SVN仓库权限管理方法,本实施例对应公开了一种SVN仓库权限管理装置,具体包括:
第一处理单元401,用于获取SVN权限申请信息报文,所述SVN权限申请信息报文为使用AES128/CBC模式进行加密传输的http/json报文;
第二处理单元402,用于对所述SVN权限申请信息报文进行解密处理,得到SVN权限申请数据,所述SVN权限申请数据包括:申请人信息、SVN仓库名称、SVN仓库的URL路径、权限类型、SVN账号信息、使用AES128/ECB模式加密处理后的SVN密码、所属组、权限申请起止时间以及申请原因;
第三处理单元403,用于使用activity工作流框架根据角、分工和权限条件对所述SVN权限申请数据按照预设审批处理规则进行审批处理,所述预设审批处理规则为预先根据角、分工和权限条件设置的审批处理流程;
第四处理单元404,用于在所述SVN权限申请数据审批通过后,将所述SVN权限申请数据存储至数据库,并按照预设规则操作远程SVN服务器上的文件进行更新。
优选的,所述第四处理单元404具体用于:
确定查询条件,所述查询条件包括:所述申请人信息、所述SVN仓库名称、所述SVN仓库的URL路径和所述SVN账号信息;
判断所述查询条件是否在所述数据库中已存储;
若是,则将所述SVN权限申请数据根据所述查询条件对所述数据库中的SVN权限申请数据进行修改;
若否,则将所述SVN权限申请数据存储在所述数据库中。
优选的,所述第四处理单元404具体用于:
实时将所述数据库中存储的所述SVN权限申请数据读取到SFTP客户端,并对所述SVN密码使用AES128/ECB模式进行解密处理;
所述SFTP客户端与所述远程SVN服务器建立连接,通过所述SFTP客户端操作所述远程SVN服务器上的文件,对所述SVN仓库中控制用户和权限的passwd文件和authz文件以SVN仓库为维度进行备份,文件名称包含时间戳信息,并将文件名称记录下来,接着对所述SVN仓库中控制用户和权限的passwd文件和authz文件的内容清空;
判断所述远程SVN服务器的时间是否在所述权限申请起止时间区间内;
若所述远程SVN服务器的时间在所述权限申请起止时间区间内,则将所述权限申请起止时间内的集合中的所有SVN权限申请数据填充至所述SVN仓库中控制用户和权限的passwd文件和authz文件中,若填充过程中任何错误会将上述备份的passwd文件和authz文件替换当前的文件。
优选的,所述第四处理单元404具体用于:
在预设时间段将所述数据库中存储的所有SVN权限申请数据读取到SFTP客户端的数据集合中,并对所述数据集合中的所有SVN密码使用AES128/ECB模式进行解密处理;
所述SFTP客户端与所述远程SVN服务器建立连接,通过所述SFTP客户端操作所述远程SVN服务器上的文件,对所述SVN仓库中控制用户和权限的passwd文件和authz文件以SVN仓库为维度进行备份,文件名称包含时间戳信息,并将文件名称记录下来,接着对所有所述SVN仓库中控制用户和权限的passwd文件和authz文件的内容清空;
对所述数据集合中的所有SVN权限申请数据逐条判断所述远程SVN服务器的时间是否在对应的所述权限申请起止时间区间内;
若所述远程SVN服务器的时间在对应的所述权限申请起止时间区间内,则将所述权限申请起止时间内的集合中的所有SVN权限申请数据填充至所述SVN仓库中控制用户和权限的passwd文件和authz文件中,若填充过程中任何错误会将上述备份的passwd文件和authz文件替换当前的文件。
所述SVN仓库权限管理装置包括处理器和存储器,上述第一处理单元、第二处理单元、第三处理单元和第四处理单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来将SVN权限审批、权限管理等完整流程在线上完成,由SVN权限审批系统全权负责,申请人只需填写申请信息,待审批人完成审批之后,系统自动与SVN服务器进行对接,完成权限开通。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述SVN仓库权限管理方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述SVN仓库权限管理方法。
本发明实施例提供了一种电子设备,如图5所示,该电子设备50包括至少一个处理器501、以及与所述处理器连接的至少一个存储器502、总线503;其中,所述处理器501、所述存储器502通过所述总线503完成相互间的通信;处理器501用于调用所述存储器502中的程序指令,以执行上述的所述SVN仓库权限管理方法。
本文中的电子设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
获取SVN权限申请信息报文,所述SVN权限申请信息报文为使用AES128/CBC模式进行加密传输的http/json报文;
对所述SVN权限申请信息报文进行解密处理,得到SVN权限申请数据,所述SVN权限申请数据包括:申请人信息、SVN仓库名称、SVN仓库的URL路径、权限类型、SVN账号信息、使用AES128/ECB模式加密处理后的SVN密码、所属组、权限申请起止时间以及申请原因;
使用activity工作流框架根据角、分工和权限条件对所述SVN权限申请数据按照预设审批处理规则进行审批处理,所述预设审批处理规则为预先根据角、分工和权限条件设置的审批处理流程;
在所述SVN权限申请数据审批通过后,将所述SVN权限申请数据存储至数据库,并按照预设规则操作远程SVN服务器上的文件进行更新。
优选的,所述将所述SVN权限申请数据存储至数据库,具体为:
确定查询条件,所述查询条件包括:所述申请人信息、所述SVN仓库名称、所述SVN仓库的URL路径和所述SVN账号信息;
判断所述查询条件是否在所述数据库中已存储;
若是,则将所述SVN权限申请数据根据所述查询条件对所述数据库中的SVN权限申请数据进行修改;
若否,则将所述SVN权限申请数据存储在所述数据库中。
优选的,所述按照预设规则操作远程SVN服务器上的文件进行更新,具体为:
实时将所述数据库中存储的所述SVN权限申请数据读取到SFTP客户端,并对所述SVN密码使用AES128/ECB模式进行解密处理;
所述SFTP客户端与所述远程SVN服务器建立连接,通过所述SFTP客户端操作所述远程SVN服务器上的文件,对所述SVN仓库中控制用户和权限的passwd文件和authz文件以SVN仓库为维度进行备份,文件名称包含时间戳信息,并将文件名称记录下来,接着对所述SVN仓库中控制用户和权限的passwd文件和authz文件的内容清空;
判断所述远程SVN服务器的时间是否在所述权限申请起止时间区间内;
若所述远程SVN服务器的时间在所述权限申请起止时间区间内,则将所述权限申请起止时间内的集合中的所有SVN权限申请数据填充至所述SVN仓库中控制用户和权限的passwd文件和authz文件中,若填充过程中任何错误会将上述备份的passwd文件和authz文件替换当前的文件。
优选的,所述按照预设规则操作远程SVN服务器上的文件进行更新,具体为:
在预设时间段将所述数据库中存储的所有SVN权限申请数据读取到SFTP客户端的数据集合中,并对所述数据集合中的所有SVN密码使用AES128/ECB模式进行解密处理;
所述SFTP客户端与所述远程SVN服务器建立连接,通过所述SFTP客户端操作所述远程SVN服务器上的文件,对所述SVN仓库中控制用户和权限的passwd文件和authz文件以SVN仓库为维度进行备份,文件名称包含时间戳信息,并将文件名称记录下来,接着对所有所述SVN仓库中控制用户和权限的passwd文件和authz文件的内容清空;
对所述数据集合中的所有SVN权限申请数据逐条判断所述远程SVN服务器的时间是否在对应的所述权限申请起止时间区间内;
若所述远程SVN服务器的时间在对应的所述权限申请起止时间区间内,则将所述权限申请起止时间内的集合中的所有SVN权限申请数据填充至所述SVN仓库中控制用户和权限的passwd文件和authz文件中,若填充过程中任何错误会将上述备份的passwd文件和authz文件替换当前的文件。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本文发布于:2023-04-13 03:55:45,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/3/85772.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |