您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 >
SourceSafe中的權限管理
作者:網(wǎng)絡轉載 發(fā)布時間:[ 2013/3/4 16:21:33 ] 推薦標簽:

前言

  如今隨著軟件項目規(guī)模的日益增大以及項目復雜性的不斷加劇,軟件配置管理(SCM)的重要性已越來越受到大家的認可。許多的軟件配置管理工具也應運而生,使得我們能夠輕松有效地管理我們的軟件項目,作為這其中的一員,Microsoft Visual SourceSafe具有簡單易用、方便高效、與Windows操作系統(tǒng)及微軟開發(fā)工具高度集成等優(yōu)點。,我們來講講VSS中的權限管理。

  首先我將講解VSS中權限機制實現(xiàn)的原理,這里面設計到VSS的默認安全訪問機制、項目安全等內(nèi)容,接著我將告訴實現(xiàn)權限機制的具體方法,后我將結合一個軟件移交項目的具體情況來談談權限管理如何應用到實際的項目過程中。

一、VSS默認的安全訪問控制

  每次你安裝VSS以后,系統(tǒng)自動激活默認的安全訪問控制機制。這套機制非常簡單,它包括兩個等級的權限:

  1) 只讀權限:用戶可以查看VSS數(shù)據(jù)庫中的所有對象,但是不能夠修改
  2) 讀寫權限:用戶可以查看和修改VSS數(shù)據(jù)庫中的任何對象

  每次你增加新用戶的時候,你可以決定該用戶的權限等級。在“Add User”對話框中包含一個“Read Only”復選框,你可以通過它來確定用戶具有的權限。

  我們前面說過這只是個極其簡單、粗線條的解決方案,但同時也是簡單的。在實際過程中,你可能需要更細化的權限分配,甚至希望每個文件針對不同的用戶都能設置不同的權限。那我們得親自動手設置我們項目的安全機制。

  注意:SourceSafe中的所有安全設置都是在Visual SourceSafe Administrator中進行的,所以在深入以下細節(jié)之前,你必須確認一件事情:你的Admin密碼足夠安全,除你之外沒有任何人可以隨心所欲地進入Visual SourceSafe Administrator。否則,一切安全考慮都是徒勞。

二、項目安全與用戶訪問權限

  在講解項目安全之前我們先來回顧一下VSS的基本組成框架,VSS包含多個數(shù)據(jù)庫(database),每個數(shù)據(jù)庫又包含許多的項目,而且可能項目里嵌套著不同的子項目,后才是你的源文件。你可以把這個類比成操作系統(tǒng)中的磁盤分區(qū),目錄,子目錄,文件,每臺機器包含許多的磁盤分區(qū),每個分區(qū)中包含無數(shù)個目錄、子目錄,在子目錄下才是你的文件。VSS中的用戶是基于VSS數(shù)據(jù)庫的,也是說每個數(shù)據(jù)庫都包含有自己的用戶清單。用戶訪問權限意思是用戶可以訪問(包括查看、修改和執(zhí)行命令等)數(shù)據(jù)庫中的哪些項目,對項目來說是它只能被那些已經(jīng)授權的用戶訪問,也是所謂的項目安全。

  很遺憾VSS只提供了到項目(對應于目錄)的用戶權限控制,并不能針對每個文件來設置不同的用戶訪問權限(比如Rational ClearCase等提供此功能)。雖然你可以用某種變通的方法來做到這一點,比如增加子項目,不過那樣破壞了整個項目結構的規(guī)范性、可讀性和合理性,甚至產(chǎn)生些無任何意義的子項目。

  VSS定義了四級用戶訪問權限,級別由低到高,后者包括所有前者的權限,比如說擁有Check Out權限自動擁有了讀的權限。

  1) 只讀(R):允許查看文件,對應于View、Get等命令
  2) Check Out(C):可以使用Check Out,Check In,Undo Check Out等命令修改文件內(nèi)容
  3) 文件增刪(A):可以在項目中增加、刪除、重命名文件或者給文件加標簽,對應的命令有Add,Delete,Label,Rename等
  4) 破壞(D):這級權限對應于那些具有巨大破壞性的操作(是那些一不小心可能被炒魷魚的操作),請牢記它們的名字:Destroy,Purge,Rollback。所以亦有人戲稱之為自殺權限。

  其實你可以發(fā)現(xiàn)默認安全機制中的兩級權限是和這四者對應起來的,只不過后者把前者的讀寫權限細分為三個不同的級別。好啦,了解每級權限各自的含義之后我們可以開始設置不同用戶的權限啦。

  設置用戶權限之前,你必須激活項目安全機制。打開VSS Administrator的Tools菜單,點擊Options得到SourceSafe Options對話框,選取Project Security并且勾上Enable project security復選框。

  VSS中有三種方法可以設置用戶的項目訪問權限:針對項目設置每個用戶的權限,針對用戶設置訪問每個項目的權限,拷貝用戶權限,它們分別對應于Tools菜單下的Assign Rights by Project,Rights Assignments for User,Copy User Rights。我們以方法一為例做一簡單說明。如下圖所示,在左邊框中選定項目,在右上框中選定用戶,右下腳的User rights中顯示該用戶現(xiàn)具有的權限,選中不同的復選框來設置你自己的權限。注意:對每個項目的用戶權限設置自動反映到該項目的所有子項目中。

三、權限管理在實際項目中的應用
  在本小節(jié)中,我主要結合在實際項目過程中作為配置管理員的經(jīng)驗來談談權限管理的實際應用,以及在應用過程中需要考慮的因素。

  我們要接觸的這個項目為一軟件移交的項目,這個項目團隊的成員組成和職責分配如下:
  項目經(jīng)理:1人,負責協(xié)調整個項目
  業(yè)務分析師,1人,負責整個系統(tǒng)業(yè)務的掌握
  系統(tǒng)架構師:1人,負責整個系統(tǒng)的系統(tǒng)架構
  Package Owner:3人,分別負責系統(tǒng)前端、中間層及后臺數(shù)據(jù)庫三個部分
  模塊負責人:3-5人,分別負責各個模塊
  數(shù)據(jù)庫管理員(DBA):1人,負責系統(tǒng)數(shù)據(jù)庫
  Test/QA:1人,負責整個軟件的測試和質量保證
  Technical Writer:1人,負責相關技術文檔的寫作
  變更控制委員會(CCB):3人,負責項目需求的變更審核及執(zhí)行,包括軟件配置管理員,外方項目經(jīng)理
  實際過程中大多會發(fā)生人員交叉現(xiàn)象,比如我們項目的實際人數(shù)只有9人,項目經(jīng)理又同時是CCB中的一員,Package Owner同時兼任模塊負責人。根據(jù)我們項目的實際組成情況,我在VSS中給出了如下所示的項目結構:

圖示說明:

  1、exec項目中主要存放項目可執(zhí)行文件或者軟件安裝文件,由于該項目比較復雜,建立過程耗時長且比較復雜,所以直接在VSS中存放可執(zhí)行文件。一般的項目不推薦這樣使用。

  2、接下來,需要為每個項目、子項目設置不同的用戶訪問權限。由于所有的軟件重大變更都需要交由CCB審核簽字后方可執(zhí)行,所以我們把整個項目的D(6)級權限賦給CCB成員。而項目經(jīng)理主要負責項目的整體進度的把握以及與外方項目組、其他部門的協(xié)調工作,所以擁有整個項目的R權限并且擁有development document的A權限。配置管理員的權限有兩者可能,一種是擁有整個項目的A權限,另外一種可能是只擁有部分項目的A權限,這主要取決于賦予給配置管理員的實際權限有多大。以此類推,各個模塊負責人擁有各自模塊的A權限。此外由于移交項目的特殊性,一般在項目開始過程中主要以培訓為主,很少涉及到軟件的修改,所以建議在項目開始階段不賦予開發(fā)工程師用戶C權限以免引起不必要的錯誤和爭論。

總結

  本文通過討論VSS中權限管理實現(xiàn)的具體機制,并且結合例子講解了在實際過程中的應用。雖然移交項目有著它本身的特殊性,但我相信對于任何項目來說其安全管理的基本思路是相通的,希望此文能夠給大家以一定的啟示和借鑒。

參考
  1) 本文中會大量涉及到“項目”一詞,有的時候它是指實際的軟件項目,有時它又是指VSS數(shù)據(jù)庫中的項目、子項目,請注意區(qū)分。
  2) 有關軟件配置管理的更詳細信息,可以參考本網(wǎng)站相關內(nèi)容。軟件配置管理主要包括版本管理、變更管理、權限管理等方面,本文主要涉及權限管理。
  3) 軟件版本采用Microsoft Visual SourceSafe 6.0英文版,其他的版本請進行相應的對照。
  4) 所有這些命令的詳細信息可以參考VSS幫助。
  5) 項目背景大致介紹:所移交的軟件為一國外公司的軟件,是基于Microsoft的DNA架構的三層應用,代碼量為150萬行左右。移交的目標:掌握現(xiàn)有系統(tǒng),充分了解相關的商業(yè)邏輯,為以后開發(fā)出自己的符合中國國情的軟件做好充分的準備。這其中可能涉及到需求的再分析、系統(tǒng)的重新架構以及向Java平臺的遷移。
  6) 我們分別用R、C、A、D來表示VSS中的四級權限Read,Check Out,Add,Destroy。

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd