VSS权限管理
- 格式:docx
- 大小:17.11 KB
- 文档页数:3
大多数服务及其属性可通过使用SQL Server 配置管理器进行配置。
以下是在C 盘安装Windows 的情况下最新的四个版本的路径。
安装的服务SQL Server根据您决定安装的组件,SQL Server 安装程序将安装以下服务:•SQL Server Database Services - 用于SQL Server 关系数据库引擎的服务。
可执行文件为<MSSQLPATH>\MSSQL\Binn\sqlservr.exe。
•SQL Server 代理 - 执行作业、监视SQL Server、激发警报以及允许自动执行某些管理任务。
SQL Server 代理服务在SQL Server Express 的实例上存在,但处于禁用状态。
可执行文件为<MSSQLPATH>\MSSQL\Binn\sqlagent.exe。
•Analysis Services - 为商业智能应用程序提供联机分析处理(OLAP) 和数据挖掘功能。
可执行文件为<MSSQLPATH>\OLAP\Bin\msmdsrv.exe。
•Reporting Services - 管理、执行、创建、计划和传递报表。
可执行文件为<MSSQLPATH>\ReportingServices\ReportServer\Bin\ReportingServicesService.exe。
•Integration Services - 为Integration Services 包的存储和执行提供管理支持。
可执行文件的路径是<MSSQLPATH>\130\DTS\Binn\MsDtsSrvr.exe •SQL Server Browser - 向客户端计算机提供SQL Server 连接信息的名称解析服务。
可执行文件的路径为c:\Program Files (x86)\Microsoft SQLServer\90\Shared\sqlbrowser.exe•全文搜索 - 对结构化和半结构化数据的内容和属性快速创建全文索引,从而为SQL Server 提供文档筛选和断字功能。
VSS使用说明主讲人:李雷一.安装目前Visual Source Safe 有两个版本,分别为VSS6.0, VSS2005. 建议安装VSS6.0, 因为据部门内部测试VSS2005存在”假签入”的问题,即显示已经签入代码了,但实际并未上传到代码服务器上,其它人也获取不到最新代码. 本文档所讲的代码服务器软件全是依VSS6.0为范本.安装路径:\\10.134.93.128\Software\Develop tools\VSS 或直接从网络上下载进入安装画面提示输入序列号:111-1111111可以改变代码服务器存放的路径。
选择“SHARED DATABASE SERVER”项,开始安装出现此提示时选择“Yes”出现此画面时选择“Ignore”二.服务器端配置1.用户管理打开Visual SourceSafe 6.0 Admin限,否则后面会无法签入签出。
删除选择“Users Add User…”增加一个用户,其它菜单功能,可以直接看出新增用户界面,通常情况下无须指定Password。
如果想让某个用户只可下载代码但不可以上传,请选择“Read Only”设定完毕后,还需要将VSS安装目录共享,只有这样其它成员才可以访问。
共享时也可以设定其权限,一般情况下我们设为“完全控制”2.权限管理VSS可以设定每个人存取每个专案的权限。
默认情况下VSS没有开启此功能,需要先打开。
打开 VSS Admin 再选择Tools Options…切换到Project Rights选项页,勾选“Enable Rights and Assignments commands”设定完成后再选择Tools Rights by Project…此时就可以设定各专案各人员对应的权限三.客户端代码管理1.首次上传代码将个人代码上传到服务器供其它人下载或协同作业,使用此功能。
打开要上传到服务器的专案或方案,右击方案名 选择“Add Solution to Source Control…”或通过 File菜单再选择 Source Control Add Solution to Source Control点击后出现VSS服务器登录画面,此时可以选择具体Database的路径点击OK打开 Add to SourceSafe Project 画面,指定 Project 名称并选择存放路径后点击OK,首次上传新专案时会提示是否创建指定专案,点击Yes 后开始上传。
VSS的配置和使用〇、摘要在企业开发环境中,源代码管理占据着重要的一环。
本文将通过一个实例,创建一个源代码管理的项目SourceManager,来讲述如何使用Visual 开发环境,配合Visual Source Safe 6c和IIS,创建企业团队开发环境。
一、开发前的准备1、在装有Windows 2000或者Windows XP Professional的机器上安装.Net Framework SDK、Visual 、Visual Source Safe 6C。
(如果用户操作系统是Windows .Net Server,则无须安装.Net Framework SDK,.Net Server自带的IIS 6已经完全包含了对.Net 的支持)这些工具在Visual 的安装盘上都可以找到。
2、一台专门用于存放版本控制中心数据库的服务器。
该服务器不需要安装.NET Framework SDK和,但是必须安装VSS 6C。
我们称这台服务器为开发服务器DataCenter。
3、一个主域控制器,将DataCenter服务器加入这个域,为每一个开发用户分配域帐号。
这样所有小组成员可以通过登录到Window NT域来访问版本控制信息。
注意:Visual Studio 6所带的Visual Source Safe 6不支持.Net的一些文件格式。
如果你安装了VSS 6,也需要再安装一次VSS 6C,否则在环境中将源代码加入到VSS数据库中将会出现错误。
二、创建空的SourceSafe数据库在开始工作之前,需要建立一个空的SourceSafe数据库,来存放源代码控制数据,并为小组开发人员分配访问帐号。
在DataCenter服务器上新建Source Safe数据库。
步骤如下:1、启动"开始"——"程序"——"Microsoft Visual SourceSafe"菜单下的SourceSafe 6.0 Admin。
软件配置VSS操作指南简介本文档将详细介绍如何使用VSS(Version Source Safe)进行软件配置管理。
VSS是一款由微软公司开发的版本控制软件,用于管理软件开发过程中的版本控制和协作。
安装和配置VSS首先,你需要从微软官方网站上下载VSS的安装程序。
安装程序通常是一个可执行文件,双击该文件即可开始安装过程。
按照安装程序的引导完成安装。
安装完成后,你需要配置VSS的一些基本参数。
具体步骤如下:1.打开VSS管理器。
2.在工具栏中选择“文件”>“新建数据库”。
3.在弹出的对话框中选择数据库存储的位置,并设置数据库的名称。
4.点击“确定”创建数据库。
创建版本库版本库是用于存储软件的不同版本的仓库,可以理解为一个文件夹。
要创建一个新的版本库,请按照以下步骤进行操作:1.打开VSS管理器。
2.在顶部菜单中选择“文件”>“打开数据库”。
3.在弹出的对话框中选择先前创建的数据库,并输入数据库密码(如果有)。
4.在VSS管理器主界面中,选择“文件”>“新建项目”。
5.在弹出的对话框中输入项目名称和描述,并选择用于存储项目文件的本地路径。
6.点击“确定”创建新项目。
添加和检出文件要将软件项目中的文件添加到版本库中,请按照以下步骤进行操作:1.在VSS管理器的主界面中,选择要添加文件的项目。
2.在顶部菜单中选择“文件”>“添加文件”。
3.在弹出的对话框中选择要添加的文件,并点击“确定”。
4.添加成功后,你将在项目的文件列表中看到已添加的文件。
要开始对文件进行编辑,请执行以下操作:1.在文件列表中选择要编辑的文件。
2.在顶部菜单中选择“文件”>“检出”。
3.执行上述操作后,你将可以在本地对文件进行编辑。
标记和恢复版本通过VSS,你可以为软件项目的不同版本进行标记,并在需要时恢复到特定的版本。
以下是如何执行这些操作的步骤:要标记一个版本,请按照以下步骤进行操作:1.在文件列表中选择要标记版本的文件。
一、服务器配植
(1)打开VSS Administration
(2)新建一个Database
Fil e→New Database
下一步
Browse…
选择路径(如D:\)→新建文件夹→输入文件夹名字
确定
下一步→输入名字
下一步
下一步
完成
OK
(3)更改Admin密码(默认密码为空) User s→Change Password…
OK
OK
(4)添加用户
User s→Add User…
OK
(5)服务配置
Serve r→Configure…
将局域网服务打开
确定
(6)权限配置
Tool s→Options…
选择Project Right s→勾选Enable Rights and Assignments commands
确定
选择要配置权限的用户,Tools---Rights Assignments for User…
默认拥有所有权限,可根据需要更改
二、添加项目文件
(1)打开客户端
(2)设置工作目录
右键单击Database区域→Set Working Folder…
确定
(3)创建项目
OK
(4)添加文件
打开
OK
创建项目添加文件直到整个项目添加完成。
Vss2005局域网开发权限设置指南(续)-如何利用VSS为项目小组的成员分配权限上一篇Vss2005局域网开发权限设置指南讲到了局域网权限设置,主要通过windows为项目小组的成员设置权限。
对利用VSS自带的权限设置功能进行权限分配,并没有详细介绍。
所以这篇文章弥补上篇的不足,重点讲解【如何利用VSS为项目小组的成员分配权限】提示:VSS目录的权限是继承制的,如果没有为子目录特别设置权限,默认继承自父目录……1.登录"Microsoft Visual SourceSafe Administration"进入vss管理员界面,选择一个用户(此文中用户是Li),"Tools-->Rights Assignments for User"2.如下图,进入"Assignments for Li"对话框。
因为该用户Li的职责是项目策划、文档撰写。
可见,用户Li已经具有对目录"开发文档"的"RCA"权限,也就是具有“只读、签入/签出、添加/重命名/删除”权限。
但该用户Li不是项目负责人,所有不具有"永久删除权限"。
注:一般的【删除】是可以恢复的,【永久删除】不可以恢复。
单击"Add Assignment"为Li分配新的目录权限。
3.如图,出现Add Assignment for Li的对话框,因为Li要看看美工设计人员的设计样稿是否符合他的策划意图,所以需要查看"图片源文件"目录。
选择左边列表的"图片源文件"目录4.因为Li不是美工设计人员,所以对"图片源文件" 只勾选了Read只读权限,不再赋予其他权限。
5.单击OK,再进入"Assignments for Li"对话框,发现Li多了一个目录"图片源文件"的权限记录。
VSS使用手册1 VSS概述版本控制是工作组软件开发中的重要方面,它能防止意外的文件丢失、允许反追踪到早期版本、并能对版本进行分支、合并和管理。
在软件开发和您需要比较两种版本的文件或找回早期版本的文件时,源代码的控制是非常有用的。
Visual SourceSafe 是一种源代码控制系统,它提供了完善的版本和配置管理功能,以及安全保护和跟踪检查功能。
VSS通过将有关项目文档(包括文本文件、图象文件、二进制文件、声音文件、视屏文件)存入数据库进行项目研发管理工作。
用户可以根据需要随时快速有效地共享文件。
文件一旦被添加进VSS,它的每次改动都会被记录下来,用户可以恢复文件的早期版本,项目组的其他成员也可以看到有关文档的最新版本,并对它们进行修改,VSS也同样会将新的改动记录下来。
你还会发现,用VSS来组织管理项目,使得项目组间的沟通与合作更简易而且直观。
VSS可以同Visual Basic、Visual C++、Visual J++、Visual InterDev、Visual FoxPro 开发环境以及Microsoft Office 应用程序集成在一起,提供了方便易用、面向项目的版本控制功能。
Visual SourceSafe 可以处理由各种开发语言、创作工具或应用程序所创建的任何文件类型。
在提倡文件再使用的今天,用户可以同时在文件和项目级进行工作。
Visual SourceSafe 面向项目的特性能更有效地管理工作组应用程序开发工作中的日常任务。
1.1 VSS中的文件当你要修改某个文档时,需要先从数据库中将它签出(check out),或者告诉VSS你要编辑该文档。
VSS会将该文档的副本从数据库中拿到你的工作文件夹(working folder)中,你就可以修改你的文档了。
如果其他用户再想对同一文档进行修改,VSS会产生一个信息,告诉他,该文档已被签出(check out),从而避免多人同时修改文档,以保证文档的安全性。
vss2005VSS 2005: 介绍、功能和优势引言在软件开发过程中,版本控制是一个至关重要的方面。
版本控制系统(Version Control System,简称VCS)帮助团队协作,确保代码的完整性和一致性。
Visual SourceSafe(简称VSS)是一种流行的VCS工具,它提供了版本控制和协作功能。
本文将介绍VSS 2005的功能和优势,以及如何使用它来管理项目代码。
一、VSS 2005的概述Visual SourceSafe 2005是由微软开发的版本控制系统,最初发布于2005年。
它是一个集中式VCS,提供文件级别的版本控制和协作功能。
VSS 2005的主要目标是管理项目代码,并确保团队成员可以有效地共享和协作。
VSS 2005提供了一个易于使用的图形用户界面(GUI),使用户能够轻松地管理文件和版本。
它还支持命令行界面(CLI),以便于开发人员可以集成VSS 2005到其开发工作流程中。
二、VSS 2005的功能1. 版本控制VSS 2005允许团队成员对项目文件进行版本控制。
它跟踪每个文件的版本历史记录,记录了每个修改的时间戳、作者和说明。
这使得团队成员可以轻松地回顾和比较不同版本的文件。
2. 并发控制VSS 2005管理并发修改,以确保不同团队成员之间的冲突被解决。
当多个人同时编辑同一个文件时,VSS 2005会提示用户解决冲突,并提供合并工具来合并不同版本的修改。
3. 文件共享和协作VSS 2005提供了团队共享项目文件的功能。
团队成员可以在VSS 2005中创建、检出、检入文件,并添加注释和说明。
这促进了团队成员之间的协作和沟通。
4. 平行分支和合并VSS 2005支持平行分支和合并的功能,使团队成员可以在一个项目的不同分支上并行开发。
这有助于提高开发效率,并确保项目的不同分支保持同步。
5. 定期备份和恢复VSS 2005提供了定期备份和恢复功能,以确保项目文件的安全性。
目录1.简介 (2)2.安装 (2)3.应用 (2)3.1 工具分类 (2)3.2 创建vss数据库 (2)3.3 用户管理 (4)3.4 用户权限管理 (5)3.5 工程、文件管理 (7)3.6 共享 (15)4. 结语 (16)1.简介Visual sourcesafe 6.0(以下简称vss) 是Microsoft visual studio 6.0当中的配置管理工具,利用该工具主要可以实现配置标识、版本控制、历史追踪、变更控制等功能,尤其是它与visual studio 中其他工具如vb、vc、vfp等的结合性比较好,所以成为目前主流配置管理工具之一。
2.安装此工具安装比较简单,只要运行vss安装包里面的setup.exe,然后按照提示进行即可,这里不再赘述。
3.应用3.1 工具分类安装完成以后,在开始——程序——Microsoft visual sourcesafe下可以看到四个工具(图3.1),其中:analyze & fix vss db 是对vss库进行查错并修复的工具;analyze vss db是查错但不修复;Microsoft visual sourcesafe 6.0 是普通用户级操作窗口;visual sourcesafe 6.0 admin 是管理员级应用窗口。
后面两个窗口也是最常用的。
3.2 创建vss数据库首先要强调的一点,这里所提到的数据库是被vss创建的,有特定存储结构和文件格式的数据存储区。
点击visual sourcesafe 6.0 admin,会有一个名为common的vss库被打开,这个库是安装vss完成后自动生成,为用户提供第一次进入的窗口(图3.2)。
用户可以用窗口上的工具在其他路径下建立新的vss库:tools——creat database(图3.3),可以浏览路径也可以手输绝对路径(图3.4)。
确定后,系统会在d:\ll\下生成名为test的vss库。
服务器安装步骤截图一、以下几步操作只需按照平常安装步骤根据提示安装即可,没有特殊要求二、设置1、建库注意:在此处输入项目程序存放位置,下一步则是给数据库起名,建议这两处为的名字相同,例如在本例中我都用“Project”2、设置共享上述步骤完成以后,需要将project文件夹设置为共享,此处不再截图说明3、设置权限管理注意:此处勾选上后,每次登录的时候无须输入用户名、密码,如果需要根据实际情况自己用不同的账号登陆则此处无需勾选注意:此处勾选上后才能给新增用户分配权限4、新增用户5、添加解决方案此处点击是按钮,则解决方案添加完成三、客户端四、异常处理(\serve\vssdose not contain a valid sourcesafe database(srcsafe.ini))配置完成后有可能会在客户端连接服务器的链接不上的情况,此时可以按照以下步骤操作1、在电脑中,依次点击开始-运行输入你所建的文件夹的地址,本例为//IP地址/Project看看是否能够连接成功,如果不能则需要输入用户名、密码保证能正常访问服务器2、运行组策略编辑器gpedit.msc -》打开计算机配置-》windows设置-》安全设置-》本地策略-》安全选项中的:网络安全:LAN管理器(XP中叫LAN Manager)身份验证级别,默认是“没有定义”,更改为“发送LM和NTLM响应3、将服务器数据库目录下(Project)的srcsafe.ini和users.txt拷到本地的我的文档里面4、并确认以下服务的[启动类型]选为[自动],并确保[服务状态]为[已启动]WorkstationComputer BrowserDHCP ClientRemote Procedure CallRemote Procedure Call (RPC) LocatorDNS ClientFunction Discovery Resource PublicationUPnP Device HostSSDP DiscoveryTIP/IP NetBIOSHelper。
VSS6.0服务器的配置和管理在VSS6.0服务器安装完毕后,就可以针对开发项目进行VSS服务器的配置和管理,这些工作均需由VSS管理员来完成。
第一步,为整个项目创建一个VSS数据库(在VSS服务器安装时,系统已经创建了一个缺省数据库Common),启动Visual SourceSafe6.0 Admin(Start/Programs/Microsoft Visual Studio6.0/Microsoft Visual SourceSafe/Visual Sou rceSafe6.0 Admin),跳出对话窗口,点击下拉菜单Tools中的Create Database ...菜单项,将出现对话窗口,选择新数据库的路径,例如创建MyApp数据库,然后点击OK按钮,系统将完成创建工作。
第二步,为新创建的数据库(例如MyApp)建立用户,首先需要打开该数据库,点击下拉菜单Users/Open SourceSafe Database...,然后选择数据库MyApp 并打开。
再选择菜单项Add User...,输入用户名和口令。
然后依次创建其他的用户。
可以为不同的用户设置针对不同项目文件夹的不同存取权限,存在两种方法:1)使用VSS提供的功能。
选中Tools/Options…对话框中Porject Security属性页的Enable Project Security复选框并选择Tools/Rights by Project…或者Tools/Rights Assignments for User…进行设置;2)使用windows操作系统的cacls命令。
第三步,在该新建的数据库中创建项目Project。
启动Microsoft Visual SourceSafe6.0(Start/Programs/Microsoft Visual Studio6.0/Microsoft Visual SourceSafe/Microsoft Visual SourceSafe6.0),出现对话窗口,点击下拉菜单File中Open SourceSafe Database...,跳出对话框,选择一个数据库(例如MyApp),双击它或按Open按钮打开该数据库;一个项目Project是一组相关的文档或者是一个文件的集合,VSS允许你以任何的层次结构来存贮和组织你的项目。
4. 管理员指南4.1. VSS管理任务(VSS Administrator Tasks)作为VSS管理员,使VSS数据库对VSS客户端尽量有用是您的工作职责。
您可以采用多种方式改变VSS的工作方式,例如允许客户端使用多重文件签出功能,或者利用VSS新的Web功能。
作为VSS管理员,您能执行以下操作:•创建新数据库• 创建网站项目• 创建影子文件夹• 定制SRCSAFE.INI或SS.INI文件• 启用关键字扩展功能• 启用多次签出功能• 打开数据库• 设置默认文件类型4.1.1. 创建新数据库(Create a New Database)VSS管理员使用MKss.exe程序创建新的空数据库。
为了创建新的空数据库:1. 为新数据库创建文件夹,例如,您可以将文件夹命名为“data”。
2. 打开命令提示符。
3. 在命令提示符中,转到您VSS服务器安装文件夹的\win32子文件夹下。
4. 为创建空数据库和对应文件夹,运行Mkss程序。
例如:Mkss d:\vss\data5. 为创建空数据库和对应文件夹,运行Ddnconv程序。
例如:Ddnconv d:\vss\data注意如果您为了获取Fast Get功能要把数据库升级到新的VSS数据库格式,您需要在完成步骤1-5后再运行Ddupd程序。
4.1.2. 创建网站项目(Create Web Site Projects)VSS包含一些使万维网网站管理变得更加简易的功能。
例如,您可以将某个VSS项目指定为网站项目,然后对项目(和子项目)中的HTML文件快速创建一个站点地图,检查项目文件中的超链接,并在网站文件就绪时把文件发布到Internet服务器上。
为使用上述功能的任意一种,您必须先将项目指定为网站项目。
为了创建网站项目:1. 在VSS Administrator软件的tools菜单,单击options。
2. 单击web projects选项卡。
3. 单击Browse搜索您想指定为网站项目的项目,然后单击OK退出Set Web Site At对话框。
Visual SourceSafe中的权限管理如今随着软件项目规模的日益增大以及项目复杂性的不断加剧,软件配置管理(SCM)的重要性已越来越受到大家的认可。
许多优秀的软件配置管理工具也应运而生,使得我们能够轻松有效地管理我们的软件项目。
作为这其中的一员,Microsoft Visual SourceSafe具有简单易用、方便高效、与Windows操作系统及微软开发工具高度集成等优点。
今天,我们就来讲讲VSS中的权限管理。
首先我将讲解VSS中权限机制实现的原理,这里面涉及到VSS的默认安全访问机制、项目安全等内容,接着我将告诉实现权限机制的具体方法,最后我将结合一个软件移交项目的具体情况来谈谈权限管理如何应用到实际的项目过程中。
一、VSS默认的安全访问控制每次你安装VSS以后,系统自动激活默认的安全访问控制机制。
这套机制非常简单,它包括两个等级的权限:1. 只读权限:用户可以查看VSS数据库中的所有对象,但是不能够修改;2. 读写权限:用户可以查看和修改VSS数据库中的任何对象。
每次你增加新用户的时候,你可以决定该用户的权限等级。
在"Add User"对话框中包含一个"Read Only"复选框,你可以通过它来确定用户具有的权限。
我们前面说过这只是个极其简单、粗线条的解决方案,但同时也是最简单的。
在实际过程中,你可能需要更细化的权限分配,甚至希望每个文件针对不同的用户都能设置不同的权限。
那我们就得亲自动手设置我们项目的安全机制。
注意:SourceSafe中的所有安全设置都是在Visual SourceSafe Administrator中进行的,所以在深入以下细节之前,你必须确认一件事情:你的Admin密码足够安全,除你之外没有任何人可以随心所欲地进入Visual SourceSafe Administrator。
否则,一切安全考虑都是徒劳。
二、项目安全与用户访问权限在讲解项目安全之前我们先来回顾一下VSS的基本组成框架。
了解VisualSVN Server的授权机制Understanding VisualSVN Server authorizationVisualSVN Server提供一种访问授权机制,可以让你控制用户可以访问的配置库中的特定文件。
从用户角度看,VisualSVN Server的访问授权机制与Windows文件系统非常相像。
但是有一些明显的差别,没有经验的Subversion新用户饱受困扰。
本文讨论VisualSVN Server基本访问控制(Access Control)原则,也讨论了与Windows 访问控制的主要差别。
访问规则Access rulesVisualSVN Server使用基于路径的授权机制(path-based authorization)。
该机制实际上是VisualSVN Server内部包含的Subversion所提供。
采用下述简单格式,就可以配置访问权限:<用户名user name/组名group name> = <访问等级access level>.可以在访问规则(accessrules)中,明确配置以下访问等级(access level):●不能访问No Access●只读Read Only●读写Read/Write如果在父路径中定义一个access rule,且在当前目录中没有明确重载overloading,那么这个access rule将显示为“继承的”(inherited)。
如左图所示。
配置库的每个路径可以配置多个访问规则。
对于一个给定的路径,若没有定义任何访问规则access rule(直接或通过继承),则所有用户都禁止访问。
在下列情况下,access rule适用于某个用户:●access rule针对这个指定的用户;●access rule针对一个用户组,这个组直接或间接包括了这个用户。
访问控制的原则确定一个用户的访问等级access level有两条基本原则:继承原则inheritance principle 和优先原则priority principle。
Visual SourceSafe中的权限管理
如今随着软件项目规模的日益增大以及项目复杂性的不断加剧,软件配置管理(SCM)的重要性已越来越受到大家的认可。
许多优秀的软件配置管理工具也应运而生,使得我们能够轻松有效地管理我们的软件项目。
作为这其中的一员,Microsoft Visual SourceSafe具有简单易用、方便高效、与Windows操作系统及微软开发工具高度集成等优点。
今天,我们就来讲讲VSS中的权限管理。
首先我将讲解VSS中权限机制实现的原理,这里面涉及到VSS的默认安全访问机制、项目安全等内容,接着我将告诉实现权限机制的具体方法,最后我将结合一个软件移交项目的具体情况来谈谈权限管理如何应用到实际的项目过程中。
一、VSS默认的安全访问控制
每次你安装VSS以后,系统自动激活默认的安全访问控制机制。
这套机制非常简单,它包括两个等级的权限:
1. 只读权限:用户可以查看VSS数据库中的所有对象,但是不能够修改;
2. 读写权限:用户可以查看和修改VSS数据库中的任何对象。
每次你增加新用户的时候,你可以决定该用户的权限等级。
在"Add User"对话框中包含一个"Read Only"复选框,你可以通过它来确定用户具有的权限。
我们前面说过这只是个极其简单、粗线条的解决方案,但同时也是最简单的。
在实际过程中,你可能需要更细化的权限分配,甚至希望每个文件针对不同的用户都能设置不同的权限。
那我们就得亲自动手设置我们项目的安全机制。
注意:SourceSafe中的所有安全设置都是在Visual SourceSafe Administrator中进行的,所以在深入以下细节之前,你必须确认一件事情:你的Admin密码足够安全,除你之外没有任何人可以随心所欲地进入Visual SourceSafe Administrator。
否则,一切安全考虑都是徒劳。
二、项目安全与用户访问权限
在讲解项目安全之前我们先来回顾一下VSS的基本组成框架。
VSS包含多个数据库(database),每个数据库又包含许多的项目,而且可能项目里嵌套着不同的子项目,最后才是你的源文件。
你可以把这个类比成操作系统中的磁盘分区、目录、子目录、文件,每台机器包含许多的磁盘分区,每个分区中包含无数个目录、子目录,在子目录下才是你的文件。
VSS中的用户是基于VSS数据库的,也就是说每个数据库都包含有自己的用户清单。
用户访问权限意思是用户可以访问(包括查看、修改和执行命令等)数据库中的哪些项目,对项目来说就是它只能被那些已经授权的用户访问,也就是所谓的项目安全。
很遗憾VSS只提供了到项目(对应于目录)的用户权限控制,并不能针对每个文件来设置不同的用户访问权限(比如Rational ClearCase等就提供此功能)。
虽然你可以用某种变通的方法来做到这一点,比如增加子项目,不过那样就破坏了整个项目结构的规范性、可读性和合理性,甚至产生些无任何意义的子项目。
VSS定义了四级用户访问权限,级别由低到高,后者包括所有前者的权限,比如说拥有Check Out权限就自动拥有了读的权限。
1. 只读(R):允许查看文件,对应于View、Get等命令;
2. Check Out(C):可以使用Check Out,Check In,Undo Check Out等命令修改文件内容;
3. 文件增删(A):可以在项目中增加、删除、重命名文件或者给文件加标签,对应的命令有Add,Delete,Label,Rename等;
4. 破坏(D):这级权限对应于那些具有巨大破坏性的操作(就是那些一不小心就可能被炒鱿鱼的操作),请牢记它们的名字:Destroy,Purge,Rollback。
所以亦有人戏称之为自杀权限。
其实你可以发现默认安全机制中的两级权限是和这四者对应起来的,只不过后者把前者的读写权限细分为三个不同的级别。
好啦,了解每级权限各自的含义之后我们就可以开始设置不同用户的权限啦。
设置用户权限之前,你必须激活项目安全机制。
打开VSS Administrator的Tools菜单,点击"Options"得到SourceSafe Options对话框,选取"Project Security",并且勾上"Enable project security"复选框。
(如下图所示)
图1 激活项目安全机制
VSS中有三种方法可以设置用户的项目访问权限:针对项目设置每个用户的权限,针对用户设置访问每个项目的权限,拷贝用户权限,它们分别对应于Tools菜单下的Assign Rights by Project,Rights Assignments for User,Copy User Rights。
我们以方法一为例做一简单说明。
如下图所示,在左边框中选定项目,在右上框中选定用户,右下脚的User rights中就显示该用户现具有的权限,选中不同的复选框来设置你自己的权限。
注意:对每个项目的用户权限设置自动反映到该项目的所有子项目中。
图2 用户授权
三、权限管理在实际项目中的应用
在本小节中,我主要结合在实际项目过程中作为配置管理员的经验来谈谈权限管理的实际应用,以及在应用过程中需要考虑的因素。
我们要接触的这个项目为一软件移交的项目,这个项目团队的成员组成和职责分配如下:项目经理:1人,负责协调整个项目。
业务分析师:1人,负责整个系统业务的掌握。
系统架构师:1人,负责整个系统的系统架构。
Package Owner:3人,分别负责系统前端、中间层及后台数据库三个部分。
模块负责人:3-5人,分别负责各个模块。
数据库管理员(DBA):1人,负责系统数据库。
Test/QA:1人,负责整个软件的测试和质量保证。
Technical Writer:1人,负责相关技术文档的写作。
变更控制委员会(CCB):3人,负责项目需求的变更审核及执行,包括软件配置管理员,外方项目经理。
实际过程中大多会发生人员交叉现象,比如我们项目的实际人数就只有9人,项目经理又同时是CCB中的一员,Package Owner同时兼任模块负责人。
根据我们项目的实际组成情况,我在VSS中给出了如下所示的项目结构:
图3 VSS项目结构
图示说明:
* exec项目中主要存放项目可执行文件或者软件安装文件,由于该项目比较复杂,建立过程耗时长且比较复杂,所以直接在VSS中存放可执行文件。
一般的项目不推荐这样使用。
* 图中只是显示整个项目结构的主要部分,省略了细节部分,比如client项目中包含有许多
的小项目。
接下来,就需要为每个项目、子项目设置不同的用户访问权限。
由于所有的软件重大变更都需要交由CCB审核签字后方可执行,所以我们把整个项目的D(6)级权限赋给CCB成员。
而项目经理主要负责项目的整体进度的把握以及与外方项目组、其他部门的协调工作,所以拥有整个项目的R权限并且拥有development document的A权限。
配置管理员的权限有两者可能,一种就是拥有整个项目的A权限,另外一种可能就是只拥有部分项目的A权限,这主要取决于赋予给配置管理员的实际权限有多大。
以此类推,各个模块负责人拥有各自模块的A权限。
此外由于移交项目的特殊性,一般在项目开始过程中主要以培训为主,很少涉及到软件的修改,所以建议在项目开始阶段不赋予开发工程师用户C权限以免引起不必要的错误和争论。
总结
本文通过讨论VSS中权限管理实现的具体机制,并且结合例子讲解了在实际过程中的应用。
虽然移交项目有着它本身的特殊性,但我相信对于任何项目来说其安全管理的基本思路是相通的,希望此文能够给大家以一定的启示和借鉴。
参考
* 本文中会大量涉及到"项目"一词,有的时候它是指实际的软件项目,有时它又是指VSS数据库中的项目、子项目,请注意区分。
* 有关软件配置管理的更详细信息,可以参考本网站相关内容。
软件配置管理主要包括版本管理、变更管理、权限管理等方面,本文主要涉及权限管理。
* 软件版本采用Microsoft Visual SourceSafe 6.0英文版,其他的版本请进行相应的对照。
* 所有这些命令的详细信息可以参考VSS帮助。
* 项目背景大致介绍:所移交的软件为一国外公司的软件,是基于Microsoft的DNA架构的三层应用,代码量为150万行左右。
移交的目标:掌握现有系统,充分了解相关的商业逻辑,为以后开发出自己的符合中国国情的软件做好充分的准备。
这其中可能涉及到需求的再分析、系统的重新架构以及向Java平台的迁移。
* 我们分别用R、C、A、D来表示VSS中的四级权限Read,Check Out,Add,Destroy。