http://wenku.baidu.com/view/a0a16ea34028915f804dc2f8.html

第一章 概述

当VisualSVN 2.7采用Windows用户认证或Windows域认证时,可以使用SVN分级授权工具对VisualSVN的授权功能进行扩展,实现SVN库的创建、分库的分级授权、SVN用户密码修改等。本手册主要描述Windows用户认证的配置方法,关于采用Windows域认证的配置方法请参考《SVN分级授权工具部署手册--Windows域认证》。

第二章 安装部署

2.1 Windows操作系统

本手册环境为Windows 2008 SP1 R2版本,具体安装过程略。需要特别注意的是Windows本地组策略中的用户策略设置不当会影响到通过SVN分级授权工具进行用户管理,建议按照下面的策略设置:运行gpedit.msc启动本地组策略编辑器,把密码复杂度等策略设置好后,执行gpupdate /force命令使策略立即生效。

SVN分级授权部署手册 --Windows用户认证

2.2 SVN服务软件安装

低于2.6版本的VisualSVN无法使用SVN分级授权工具,本手册环境为VisualSVN Server2.7.5。采用Windows用户认证和Windows域认证需要购买VisualSVN授权(本文仅仅为了说明分级授权工具的安装部署,因此SVN Server采用了特殊方法使之支持Windows用户认证)。

运行VisualSVN Server2.7.5.msi,采用缺省设置安装:

SVN分级授权部署手册 --Windows用户认证

SVN分级授权部署手册 --Windows用户认证

SVN分级授权部署手册 --Windows用户认证

SVN分级授权部署手册 --Windows用户认证

SVN分级授权部署手册 --Windows用户认证

SVN分级授权部署手册 --Windows用户认证

SVN分级授权部署手册 --Windows用户认证

停止VisualSVN Server服务并退出管理控制台。

SVN分级授权部署手册 --Windows用户认证

采用特殊方法使之支持Windows用户认证,正式生产环境请购买商业版授权。

SVN分级授权部署手册 --Windows用户认证

把VisualSVN的认证方式更改为“Use Windows Authentication”。

SVN分级授权部署手册 --Windows用户认证

启动VisualSVN Server服务。

SVN分级授权部署手册 --Windows用户认证

2.3 SVN分级授权工具安装

2.3.1 安装C++运行库

安装vcredist2010_x86.exe和vcredist2010_x64.exe,否则无法显示SVN仓库的结构树:

SVN分级授权部署手册 --Windows用户认证 SVN分级授权部署手册 --Windows用户认证

2.3.2 部署数据库、COM+和WebSerivce

本分级授权工具支持Oracle、SQL Server、Sybase、MySQL、PostgreSQL六种数据库,本手册采用SQL Server桌面数据库进行部署,使用分级授权自带的配置工具自动安装数据库和部署应用。分级授权工具相关软件如下:

SVN分级授权部署手册 --Windows用户认证

点击PMagicConfig.exe开始安装部署:

SVN分级授权部署手册 --Windows用户认证

自动部署支持SQL Server2008数据库,其余数据库需要手工安装并导入SQL脚本。微软SQL Server 2008桌面版免费,本文采用此方案。

SVN分级授权部署手册 --Windows用户认证

开始自动部署SQL Server 2008桌面版数据库。

SVN分级授权部署手册 --Windows用户认证

SQL Server 2008桌面版数据库部署中不需要认为干预,等待安装完成即可。

SVN分级授权部署手册 --Windows用户认证

自动发布COM+,安装COM+过程中会自动新建一个MagicLtdUser的Windows用户。

SVN分级授权部署手册 --Windows用户认证

部署WebServer服务前需要安装Apache,自动部署会启动Apache的安装,只需要点击下一步缺省安装就可以了。

SVN分级授权部署手册 --Windows用户认证

SVN分级授权部署手册 --Windows用户认证

SVN分级授权部署手册 --Windows用户认证

这儿可以随便输入一些值。

SVN分级授权部署手册 --Windows用户认证

SVN分级授权部署手册 --Windows用户认证

SVN分级授权部署手册 --Windows用户认证

SVN分级授权部署手册 --Windows用户认证

检测到端口冲突(因为SVN服务已经用到了80端口,Apache缺省也使用80),退出即可,部署工具在后面会自动调整可用apache的端口。

SVN分级授权部署手册 --Windows用户认证

SVN分级授权部署手册 --Windows用户认证

自动部署程序调整apache端口后启动apache服务。

SVN分级授权部署手册 --Windows用户认证

完成基本部署并询问是否运行程序。

SVN分级授权部署手册 --Windows用户认证

SVN分级授权工具为绿色软件(向用户发布参考2.6节),第一次运行时会自动下载并配置19个环境支撑文件。

SVN分级授权部署手册 --Windows用户认证

输入用户名和密码后登录系统。缺省的用户登录认证方式为DB认证,稍后需要改成WINDOWS认证。

SVN分级授权部署手册 --Windows用户认证

svnuser1具有分级授权、SVN仓库管理、组织维护、角色维护、授权管理和基础代码管理的权限(调整权限参考3.3节),因此他登录后看到的程序界面如下:

SVN分级授权部署手册 --Windows用户认证

2.3.3 安装同步服务

安装MagicService服务,此服务可以实现端口转发、定时从外部系统同步用户到SVN分级授权工具,定时从Active Directory刷新SVN分级授权工具中用户的SID、定时从本地Windows刷新SVN分级授权工具中用户的SID等功能。本文只用到定时从本地Windows刷新SVN分级授权工具中用户的SID这一个功能。

右键点击Windows任务栏应用程序托盘区域的红***标,选择服务控制、启动服务。

SVN分级授权部署手册 --Windows用户认证

程序检测到服务未安装,将询问是否安装服务,点击确定:

SVN分级授权部署手册 --Windows用户认证

在端口映射区域点击右键,选择WEB管理控制台用户管理修改admin的缺省密码:

SVN分级授权部署手册 --Windows用户认证

这个用户名和密码是端口映射WEB管理控制台的的账号,同时这个密码可以供SVN管理员模拟用户身份登录SVN分级授权管理工具,以测试用户是否可以正常使用SVN分级授权管理工具。

SVN分级授权部署手册 --Windows用户认证

2.3.4 更改登录认证方式

更改SVN分级授权的登录认证方式为Windows用户认证。

SVN分级授权部署手册 --Windows用户认证

认证方式改为WINDOWS后,主机名会自动带出来,选择允许用户同步后点击应用设置。

SVN分级授权部署手册 --Windows用户认证

2.3.5 SVN分级授权参数配置

SVN分级授权部署手册 --Windows用户认证

参数说明如下:

SYSUSERNAMES:定时同步程序会根据SVN分级授权工具数据库中不存在的用户删除WINDOWS用户,但SYSUSERNAMES定义的用户除外。

REPO_ROOT_DIR:SVN仓库根目录,缺省为D:\SVNROOT\Repositories,一般不用更改。

REPO_BASE_URL:必须修改,SVN分级授权管理中拷贝URL地址时就根据此参数组成完整的地址,本文环境中需要改成:http://192.168.43.253:80

ENABLEWINDOWSUSERSYNC:允许用本地Windows账号刷新数据库的SID字段,设置为TRUE。

ENABLEVSSUSERSYNC:是否允许从外部数据源同步用户到VSS(SourceAnywhere),设置为FALSE。

ENABLESVNUSERSYNC:是否允许从外部数据源同步用户数据到SVN,设置为FALSE。

IS_NW:特殊标记请不要修改,设置为FALSE。

2.4 发布分级授权工具

把下图中的三个文件发给需要使用SVN分级授权管理的用户即可。

SVN分级授权部署手册 --Windows用户认证

建议放到一个网站下载,下图是利用SVN的apache发布的下载服务:

SVN分级授权部署手册 --Windows用户认证

访问http://192.168.43.253/下载SVN分级授权管理工具客户端程序SvnManage.zip

SVN分级授权部署手册 --Windows用户认证

第三章 基本操作

3.1 用户批量导入

为了简化初始化部门和用户的操作,工具提供了批量导入组织机构的功能,按照如下格式整理成csv格式文件并命名为Sync_Magic_Org.csv放在C:\位置即可导入。第一行为列名称,第二行开始为用户、部门对应关系(目前版本只支持一级部门)。

SVN分级授权部署手册 --Windows用户认证

点击组织机构的根节点,点击右键选择“同步组织机构信息(导入)”菜单。

SVN分级授权部署手册 --Windows用户认证

3.2 超级管理员SVNADMIN

SVNADMIN用户是SVN的超级管理员,他可以做一般用户无法执行的操作,如给tag目录授权、给已将创建的SVN库修改库名称,可以在SVN分级授权模块设置SVN库的配置管理员等。

3.3 SVN工具权限管理

此授权是指对SVN分级授权功能的访问控制,如哪些人可以访问分级授权、SVN仓库管理、组织维护。

允许配置管理员角色访问分级授权管理、SVN仓库管理和组织维护;允许全体人员访问分级授权管理。

SVN分级授权部署手册 --Windows用户认证

SVN分级授权部署手册 --Windows用户认证

3.4 管理SVN用户

在SVN分级授权管理工具中添加、修改、删除用户,并同步到Windows,下面做个演示。出Admin和Administrator用户外,系统刚部署好后只有MagicLtdUser一个内置用户(用于运行COM+和WebServer的用户)。

SVN分级授权部署手册 --Windows用户认证

在组织维护选择组织机构,在拥有雇员Tab选项卡上邮件菜单选择重设对应的Windows和Cynthia用户密码(Cynthia作为分级授权用不到,这个功能在2.5节禁用了)。

SVN分级授权部署手册 --Windows用户认证

设置初始化密码后点击确定。

SVN分级授权部署手册 --Windows用户认证

在Windows的用户管理中已经看到SVNADMIN被创建了,此用户属于User用户组。

SVN分级授权部署手册 --Windows用户认证

同样,再把研发部下面的7位同事一次性初始化。

SVN分级授权部署手册 --Windows用户认证

在Windows用户管理中已经出现7位新用户。

SVN分级授权部署手册 --Windows用户认证

3.5 管理员重置用户的SVN密码

管理员可以重置SVN分级授权工具用户和SVN用户的密码。

SVN分级授权部署手册 --Windows用户认证

3.6 用户修改自己的SVN密码

用户修改密码,修改后登录SVN分级授权管理工具和存取SVN的密码都同步更改。

SVN分级授权部署手册 --Windows用户认证

3.7 创建SVN仓库

第一次使用需要准备SVN仓库模板,将模板放到D:\SVNROOT\Template下,文件名为“00000000.开发项目模板”。

SVN分级授权部署手册 --Windows用户认证

启动“SVN仓库管理”,点击“添加”按钮:

SVN分级授权部署手册 --Windows用户认证

选择可以管理这个SVN库的用户,最多可以设置5个。

SVN分级授权部署手册 --Windows用户认证

点击“创建SVN库”,确认SVN库名称(SVNADMIN用户可以在创建前修改)。

SVN分级授权部署手册 --Windows用户认证

SVN库创建成功。

SVN分级授权部署手册 --Windows用户认证

3.8 SVN仓库权限管理

用户登录SVN分级授权管理工具(刚才授权的五个用户中的一个svnuser1),这里以svnuser1登录。点击“分级授权”,点击“查询”,展开需要授权的SVN节点,在右边点击鼠标右键,可以添加用户、删除用户、设置拒绝访问权限、只读访问权限和读/写访问权限,需要注意:

1) 除管理员SVNADMIN外,只能对branches和trunk及其下级目录进行授权。

2) 新增加的用户缺省权限为读/写。

3) 节点权限会覆盖父节点权限。

4) 从父节点继承而来的权限不能删除。

SVN分级授权部署手册 --Windows用户认证

当用户特别多时,可以根据登录名或用户姓名筛选后多选:

SVN分级授权部署手册 --Windows用户认证

缺省加入的用户具有”读/写”权限:

SVN分级授权部署手册 --Windows用户认证

完成授权。存在一个建议删除的用户:这是创建SVN库时SVN自动设置的Administrator对此库的访问权限,建议删除。

SVN分级授权部署手册 --Windows用户认证

3.9 获取SVN存取的URL地址

选中SVN目录树的节点,点击 “拷贝URL” 按钮会将SVN访问的URL地址复制到Windows剪贴板中,方便在TortoiseSVN等SVN客户端工具中使用。

SVN分级授权部署手册 --Windows用户认证

第四章 进一步阅读

在下一篇文章中,将讲述采用Windows活动目录进行认证配置的方法,并且将实施高可用配置保证SVN的安全:

1)服务器硬件层面的数据可靠性保障;

2)基于Oracle数据库部署SVN分级授权工具;

3)主域控制器和额外域控制器保证域认证的高可用;

4)SVN采用文件同步的主SVN服务器和备SVN服务器;

5)与外部业务系统的组织机构自动同步;

6)提供AD用户管理接口;

7)备份脚本及Windows备份任务的策略。