完整SVN版本库建设方案(增加自行修改密码功能)

2024-04-11 18:38

本文主要是介绍完整SVN版本库建设方案(增加自行修改密码功能),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

补丁已经上传,下载地址:http://download.csdn.net/detail/tiwen818/3804490   微笑


1. 引言

1.1.编写目的  

现有svn版本软件在维护上较为麻烦,如创建修改用户账号、权限、所属小组,账号一旦创建之后,就很没有提供给用户自行修改密码的途径,久而久之这些的svn变得不那么安全,人人适用皆知的密码给公司安全保密工作大大折扣。为了解决SVN维护上的种种问题,于是我编写了SVN库建设方案,希望在这些问题上建立一个安全有效措施方案,弥补官方工具的不足。

1.2.目标

一、实现各项目SVN库统一图形界面化管理;

二、加强数据的保密性,提供用户自助修改密码功能;实现密码可自助维护;

1.1.定义

术语

说明

SVN

SVN全称Subversion,是一个自由/开源的版本控制系统。

Apache

Web服务器软件。

VisualSVN

VISUALSVN就是建立在SVN公版基础上的一个服务端软件

 

2. 系统实现

       本次方案采用Visual SVN Server来实现图形化统一管理,好处在于该产品免费,并且很好的和apache进行集成,用户可以通过http登录查看svn库数据;其次,Visual SVN Server已经将SVN维护功能进行了封装,并且提供图形化展现,增强了易用性。最后加上我们自定义的在线修改密码功能,实现用户自行修改自己svn密码。

2.1. 系统安装

官方http://www.visualsvn.com/server/download/下载SVN服务端软件,点击安装。

安装过程中,注意respositories路径是仓库主目录地址,一般要分配一个比较大的磁盘路径,默认使用安全连接https是打钩的,可以去掉,直接使用80端口即可。

 

解压“在线修改密码补丁.rar”,需要修改2地方。

第一个修改点Conf\httpd-custom.conf

将下列红色部分修改成你的VisualSVNServer安装路径。

 

 

<Directory "C:/Program Files/VisualSVN Server/cgi-bin">

    AllowOverride None

    Options all

</Directory>

   

ScriptAlias /cgi-bin/ "C:/Program Files/VisualSVN Server/cgi-bin/"

   

LoadModule alias_module modules/mod_alias.so

LoadModule cgi_module modules/mod_cgi.so

AddHandler cgi-script .cgi

AddHandler cgi-script .pl

 

第二个修改点cgi-bin\Apache22Passwd.cgi.ini

将红色部分内容修改成你的SVN仓库验证文件地址,如我们仓库在安装时选择在D:\Repositories下,那么对应的验证文件就是D:\Repositories\htpasswd。

 

[path]

auth_user_file=D:\Repositories\htpasswd

log_file=svnpass.log

 

最后将补丁包里的4个文件夹覆盖复制到VisualSVN Server安装目录即可,重启服务。刷新一下页面,我们可以看到修改密码链接了,点进去也可以正常访问修改密码页面。

2.2.统一管理


图2.2-1

添加一个版本库,如下图

 

可选自动创建trunk、branches和tags



新建用户

设置版本库对用户的权限

 



按照下图所示,分别对用户【或组】进行授权:


2.3.安全保密

版本服务器有专人维护,申请账号或权限由指定人员进行操作;提供自助在线密码修改,做到密码自主修改控制,保障每个使用者密码安全。


2.4. 总结

VisualSVN已经集成apache和Subversion,所以我们只需要使用VisualSVN作为版本服务器即可, Apache的功能时提供web浏览代码的能力,让开发人员不用每次为了获取一个文档而去更新整个目录,当然,基于web在线修改密码的程序也是基于Apache运行的。VisualSVN就是建立在SVN公版基础上的一个服务端软件,提供对SVN的可视化界面。这两层的加入,将有效提高SVN文件浏览的体验性和增强SVN数据配置的管理性。




原创文章,如果转载,请标注作者:田文  CSDN地址:http://blog.csdn.net/tiwen818

这篇关于完整SVN版本库建设方案(增加自行修改密码功能)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/894867

相关文章

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

Spring Gateway动态路由实现方案

《SpringGateway动态路由实现方案》本文主要介绍了SpringGateway动态路由实现方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录前沿何为路由RouteDefinitionRouteLocator工作流程动态路由实现尾巴前沿S

在Ubuntu上打不开GitHub的完整解决方法

《在Ubuntu上打不开GitHub的完整解决方法》当你满心欢喜打开Ubuntu准备推送代码时,突然发现终端里的gitpush卡成狗,浏览器里的GitHub页面直接变成Whoathere!警告页面... 目录一、那些年我们遇到的"红色惊叹号"二、三大症状快速诊断症状1:浏览器直接无法访问症状2:终端操作异常

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export

mybatis直接执行完整sql及踩坑解决

《mybatis直接执行完整sql及踩坑解决》MyBatis可通过select标签执行动态SQL,DQL用ListLinkedHashMap接收结果,DML用int处理,注意防御SQL注入,优先使用#... 目录myBATiFBNZQs直接执行完整sql及踩坑select语句采用count、insert、u