Spring+SpringMVC+MyBatis+easyUI整合基础篇(十一)SVN服务器进阶
时间:2022-05-04
本文章向大家介绍Spring+SpringMVC+MyBatis+easyUI整合基础篇(十一)SVN服务器进阶,主要内容包括前言、配置文件详解、权限设置、多版本库、删除版本库、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
前言
上一篇文章《Spring+SpringMVC+MyBatis+easyUI整合基础篇(十)SVN搭建》简单的讲了一下SVN服务器的搭建,并没有详细的介绍配置文件及一些复杂的功能,所以本文算是对上一篇文章的补充。
项目实际效果展示在这里,账密:admin 123456 下载地址,点这里 github地址,在这里
配置文件详解
svnserve.conf
svn服务配置文件,做权限配置及基本的关联设置
[general]
anon-access = none #非授权用户无法访问
auth-access = write #授权用户有读写权限(设置为read时为只读)
password-db = passwd #密码数据文件(此时为当前conf目录下的passwd文件,也可以设置为绝对路径,如'/opt/svnconf/passwd')
authz-db = authz #权限设置文件(此时为当前conf目录下的authz文件,也可以设置为绝对路径,如'/opt/svnconf/authz',如果未指定路径,则无访问控制)
# 这两个选项用来指定加密强度的(自行设置)
# min-encryption = 0
# max-encryption = 256
passwd
用来设置用户名和密码的,格式为 用户名 = 密码
[users]
ssm1 = 123456(用户名ssm1密码为123456)
ssm2 = 567890
authz
用户权限配置
[ssm-demo:/] #表示ssm-demo仓库下的所有文件
ssm1 = rw #ssm1用户具有读写权限
ssm2 = r #ssm2用户具有读权限
[ssm-demo:/code/trunk/aaa] #表示ssm-demo仓库下的/code/trunk/aaa目录
ssm1 = r #ssm1用户具有读权限
ssm2 = r #ssm2用户具有读权限
权限设置
上面只是对authz文件做了简单的介绍及简单的用户权限配置,还有复杂的权限设置需要注意,比如有管理组admin及开发组A和开发组B,对应的开发项目为qq和weixin,这三组人员对应的项目权限肯定不一样,设置如下: 首先在passwd文件中设置全部人员
[users]
zhao = 123456(用户名ssm1密码为123456)
qian = 123456
sun = 567890
li = 123456
zhou = 123456
wu = 567890
zheng = 567890
然后在authz文件中设置权限
[group] #设置分组(用户zheng未分组)
admin = zhao,qian #管理员zhao和qian
group_a = sun,li #A开发组sun和li
group_b = zhou,wu #B开发组zhou和wu
[qq:/] #表示qq项目仓库下的所有文件
@group_a = rw #开发组A有读写权限
@admin=rw #admin有读写权限
* = #其他用户无权限(此时的其他用户就包括未分组的zheng及已经分组的group_b组中所有成员)
[weixin:/] #表示weixin项目仓库下的所有文件
@group_b = rw #开发组A有读写权限
@admin=rw #admin有读写权限
* = #其他用户无权限(此时的其他用户就包括未分组的zheng及已经分组的group_a组中所有成员)
补充
比如,qq项目下又有qq空间和qq邮箱,对这两个目录再进行权限分配
[group] #分组
admin = zhao,qian #管理员zhao和qian
group_a = sun,li #A开发组sun和li
group_b = zhou,wu #B开发组zhou和wu
g_a_zone = ma #新增qq空间组及成员ma
g_a_mail = zhang #新增qq邮箱组及成员zhang
[qq:/zone] #表示qq项目的qq空间目录
@g_a_zone = rw #开发组g_a_zone有读写权限
@admin=rw #admin有读写权限
@group_a = rw #开发组A有读写权限
* = #其他用户无权限
[qq:/mail] #表示qq项目的mail空间目录
@g_a_mail = rw #开发组g_a_mail有读写权限
@admin=rw #admin有读写权限
@group_b = rw #开发组A有读写权限
* = #其他用户无权限
用户某个目录的权限是向子目录递归的。
多版本库
如果想两个项目分别进行开发,且拥有独立的开发人员,可以创建多个版本仓库,服务器中已经有ssm-demo仓库,我们再新建一个ssm-maven仓库。命令如下:
mkdir /opt/svn/ssm-maven
svnadmin create /opt/svn/ssm-maven
分别设置ssm-maven目录conf配置文件夹下的配置文件,重启svn服务即可,此时就有两个仓库了。
删除版本库
rm -rf ssm-demo #谨慎使用 rm -rf 命令
有问题可以留言。
- 三步学会用spring开发OSGI——(第二步:工程篇)
- Golang语言 控制结构
- Python标准库笔记(1) — string模块
- 曲线点抽稀算法-Python实现
- Python判断文件是否存在的三种方法
- Golang语言 ---切片:用法和本质
- Django 1.10中文文档-第一个应用Part7-自定义管理站点
- 转--Golang语言--复合数据
- 三步学会用spring开发OSGI——(第三步:web篇)
- Python标准库笔记(5) — sched模块
- 设计模式(4)-序列生成器之单例模式
- PyCharm 自定义文件和代码模板
- kotlin到底好在哪里?
- Django 1.10中文文档-第一个应用Part6-静态文件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- MySQL information_schema详解 COLLATION_CHARACTER_SET_APPLICABILITY
- 如何处理Angular项目在Visual Studio Code打开报关于@Decorators的警告信息
- QT 中普通数值与字符串之间的转换
- C# 时间与时间戳互转 13位
- 在C#中ref和out具体怎么使用?在什么情况下使用?
- Vs code 创建vue模版
- [892]python中re.split()方法
- MacOS抓包工具Charles
- PYTHON替代MATLAB在线性代数学习中的应用(使用Python辅助MIT 18.06 Linear Algebra学习)
- C# TCP/IP 文件(图片、视频等)收发系统
- 反制面试官 | 14张原理图 | 再也不怕被问 volatile!
- Javascript之其实我觉得原型链没有难的那么夸张!
- 归纳一下:C#线程同步的几种方法
- C# 主界面的扁平化
- C# LINQ