前言

上一篇文章《[Spring+SpringMVC+MyBatis+easyUI整合基础篇(十)SVN搭建](http://www.cnblogs.com/han-1034683568/p/6545751.html)》简单的讲了一下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+SpringMVC+MyBatis+easyUI整合基础篇(十一)SVN服务器进阶的更多相关文章

  1. Spring+SpringMVC+MyBatis+easyUI整合基础篇(十二)阶段总结

    不知不觉,已经到了基础篇的收尾阶段了,看着前面的十几篇文章,真的有点不敢相信,自己竟然真的坚持了下来,虽然过程中也有过懒散和焦虑,不过结果还是自己所希望的,克服了很多的问题,将自己的作品展现出来,也发 ...

  2. Spring+SpringMVC+MyBatis+easyUI整合基础篇

    基础篇 Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简介 Spring+SpringMVC+MyBatis+easyUI整合基础篇(二)牛刀小试 Spring+S ...

  3. Spring+SpringMVC+MyBatis+easyUI整合基础篇(六)maven整合SSM

    写在前面的话   承接前文<Spring+SpringMVC+MyBatis+easyUI整合基础篇(五)讲一下maven>,本篇所讲述的是如何使用maven与原ssm项目整合,使得一个普 ...

  4. Spring+SpringMVC+MyBatis+easyUI整合基础篇(八)mysql中文查询bug修复

    写在前面的话 在测试搜索时出现的问题,mysql通过中文查询条件搜索不出数据,但是英文和数字可以搜索到记录,中文无返回记录.本文就是写一下发现问题的过程及解决方法.此bug在第一个项目中点这里还存在, ...

  5. Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简述及技术选型介绍

    作者:13GitHub:https://github.com/ZHENFENG13版权声明:本文为原创文章,未经允许不得转载. 萌芽阶段 很久之前就开始打算整理一下自己的技术博客了,由于各种原因(借口 ...

  6. Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简介

    很久之前就打算开始写一下自己的技术博客了,实在抽不出时间所以计划一直搁置了,最近项目进度渐渐缓了下来,不那么忙了,也因此开始筹备自己的博客.说到这次博客的主角,也是无心插柳找到的,来源于两年前自己写的 ...

  7. Spring+SpringMVC+MyBatis+easyUI整合基础篇(三)搭建步骤

    框架介绍: 主角即Spring.SpringMVC.MyBatis.easyUI,大家应该也都有所了解,概念性的东西就不写了,有万能的百度.   工作环境:       jdk 1.7       m ...

  8. Spring+SpringMVC+MyBatis+easyUI整合基础篇(二)牛刀小试

    承接上文,该篇即为项目整合的介绍了. 废话不多说,先把源码和项目地址放上来,重点要写在前面. github地址为ssm-demo 你也可以先体验一下实际效果,点击这里就行啦 账号:admin 密码:1 ...

  9. Spring+SpringMVC+MyBatis+easyUI整合基础篇(九)版本控制

    日常啰嗦 还好在第一篇文章里就列好了接下来的主线及要写的知识点,不然都不知道要写什么东西了,开篇里已经列了基础篇要讲svn和git的知识点,所以这一篇就写一下版本控制. 项目实际效果展示在这里,账密: ...

随机推荐

  1. Beanstalkd使用

    Beanstalkd,一个高性能.轻量级的分布式内存队列系统,最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面访问延迟,支持过有9.5 million用户的Facebook ...

  2. Spring xml中进行autowired的方式

    可以在xml文件中进行autowired: xml: <?xml version="1.0" encoding="UTF-8"?> <bean ...

  3. Linux笔记(六) - 压缩解压命令

    (1)压缩文件( gz):gzip-d 解压只能压缩文件,不保留原文件例:gzip a.txt(2)解压文件( gz):gunzip 例:gunzip a.txt.gz(3)打包目录(tar):tar ...

  4. 在C++中反射调用.NET(二)

    反射调用返回复杂对象的.NET方法 定义数据接口 上一篇在C++中反射调用.NET(一)中,我们简单的介绍了如何使用C++/CLI并且初步使用了反射调用.NET程序集的简单方法,今天我们看看如何在C+ ...

  5. 私有成员的设置和访问方式——set()和get()方法

    在定义类时,为了保证类中成员数据安全性及的封装性,防止成员数据值被任意修改,通常将类中成员属性用private进行修饰. 被private所修改的成员变量,只能在类中访问,跳出本类中,就无法直接访问. ...

  6. 关于Ansi_Nulls、Quoted_Identifier、Ansi_Padding的用法

    --QUOTED_IDENTIFIER  语法SET QUOTED_IDENTIFIER { ON | OFF } 注释当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号 ...

  7. WPScan初体验

    近日在朋友圈看某位dalao在Ubuntu上安装WPScan花了一个小时,于是洒家随手在Kali Linux上输入了wpscan,发现Kali里面已经装好了.于是决定玩两把WPScan. WordPr ...

  8. java 双击jar包操作

    如何使jar包直接双击运行? 测试:MyMenu.java  类名:MyMenu 写完java代码后,发现物理路径下为: 当我按住Shift键,在此处游记,打开命令行窗口: 执行命令:javac My ...

  9. 使用node-inspector调试nodejs程序<nodejs>

    1.npm install -g node-inspector  // -g 导入安装路径到环境变量 一般是c盘下AppData目录下 2.node-inspector & //启动node- ...

  10. eclipse设置统一编码

    1.Window-->Preferences-->General-->Workspace->Text file encoding->Other->UTF-8. 2. ...