在一個(gè)項(xiàng)目中有多個(gè)成員共同開發(fā),其中各自所負(fù)責(zé)的模塊并不相同蟹倾,所以svn給其分配的權(quán)限也要不同匣缘,以防止zhangsan負(fù)責(zé)的模塊被lisi修改而造成麻煩。
1鲜棠、假設(shè)公司要開發(fā)一個(gè)項(xiàng)目名稱為cms肌厨,并采用svn進(jìn)行版本控制,svn管理人員首先會(huì)在svn的root目錄下新建一個(gè)cms的工廠岔留。命令如下:
2夏哭、項(xiàng)目經(jīng)理會(huì)在自己的電腦上新建一個(gè)cms項(xiàng)目,并且把項(xiàng)目的基本結(jié)構(gòu)建立起來献联,假如cms項(xiàng)目竖配,有UI開發(fā)、code開發(fā)里逆、test測(cè)試三個(gè)文件夾进胯。UI開發(fā)下面又有html開發(fā)與js開發(fā)。各目錄下又分別有一個(gè)文件原押。如下圖所示:
3胁镐、由svn管理人員在svnserve.conf文件中打開password-db = passwd authz-db = authz ,即把前面 的#號(hào)去掉诸衔。password-db = passwd意思是說用戶與密碼對(duì)應(yīng)的數(shù)據(jù)保存在passwd文件中盯漂。 authz-db = authz 一些權(quán)限的信息保存在文件authz中。打開文件passwd向里面添加用戶信息笨农,如下圖所示:
4就缆、打開文件authz,在里面設(shè)置組與相應(yīng)的權(quán)限谒亦。添加的內(nèi)容如下所示:其中g(shù)_admin=admin意思為admin用戶隸屬于權(quán)限組g_admin,g_ui=zhangsan,lisi意思是zhangsan,lisi隸屬于權(quán)限組g_ui竭宰;g_code=wangwu意思是wangwu隸屬于權(quán)限組g_code;g_test=zhaoliu,qianqi意思是zhaoliu,qianqi隸屬于權(quán)限組g_test份招。[/]
@g_admin=rw *=r 的意思是權(quán)限組g_admin對(duì)所有的目錄都有讀與寫的權(quán)限切揭。而其它用戶則只有讀(r)的權(quán)限。[/ui/html] zhangsan=rw 的意思是:zhangsan對(duì)目錄/ui/html有讀與寫的權(quán)限锁摔。[/ui/js] lisi=rw意思是lisi對(duì)目錄/ui/js有讀與寫的權(quán)限廓旬。[/code] @g_code=rw的意思是g_code權(quán)限組對(duì)目錄/code有讀與寫的權(quán)限。[/test] @g_test=rw的意思是g_test權(quán)限組對(duì)目錄/test有讀與寫的權(quán)限谐腰。
Xml代碼 收藏代碼
g_admin=admin
g_ui=zhangsan,lisi
g_code=wangwu
g_test=zhaoliu,qianqi
[/]
@g_admin=rw
*=r
[/ui/html]
zhangsan=rw
[/ui/js]
lisi=rw
[/code]
@g_code=rw
[/test]
@g_test=rw
5孕豹、項(xiàng)目經(jīng)理在本地創(chuàng)建相應(yīng)的項(xiàng)目后,然后在空白處右擊鼠標(biāo)選擇Import怔蚌,如下圖所示:
點(diǎn)擊后出現(xiàn)如下圖所示對(duì)應(yīng)框巩步,點(diǎn)擊OK
然后會(huì)出現(xiàn)讓登錄的對(duì)話框,這里添加admin用戶名與密碼桦踊。
點(diǎn)擊OK后相應(yīng)的項(xiàng)目信息就會(huì)傳到svn服務(wù)器對(duì)就的cms工廠中椅野。如下圖所示
6、在本地假設(shè)有目錄D:\study_source\svn\cms_d\admin籍胯,這個(gè)目錄是假設(shè)的項(xiàng)目經(jīng)理的計(jì)算機(jī)竟闪。項(xiàng)目經(jīng)理要對(duì)cms項(xiàng)目進(jìn)行操作與編碼,那么他首先要從svn服務(wù)器上把項(xiàng)目cms下載到本地杖狼,如下圖所示的目錄就假設(shè)是項(xiàng)目經(jīng)理的計(jì)算機(jī)炼蛤。
項(xiàng)目經(jīng)理只需要在打開的文件夾上右鍵,然后選擇SVN Checkout就可以了蝶涩,如下圖所示:
然后在彈出來的對(duì)話框中輸入如下圖所示的信息:
點(diǎn)擊OK后理朋,如下圖所示:
7絮识、項(xiàng)目經(jīng)理在code文件夾下新建一個(gè)文件2.code,如下圖所示:
然后在空白的地方點(diǎn)擊右鍵在出現(xiàn)的菜單中選擇svn commit,在出現(xiàn)的對(duì)話框中嗽上,如下圖所示:
點(diǎn)擊ok后就可以添加一個(gè)文件次舌。項(xiàng)目經(jīng)理可以對(duì)任何一個(gè)文件夾與其里面的內(nèi)容進(jìn)行操作。
8兽愤、假設(shè)同樣有l(wèi)isi的一個(gè)文件目錄彼念,D:\study_source\svn\cms_d\lisi,與項(xiàng)目經(jīng)理一樣先從svn服務(wù)器上把cms項(xiàng)目的內(nèi)容checkout到本地浅萧,然后讓lisi在目錄code下添加一個(gè)文件3.code逐沙,添加完成后在空白處右鍵選擇SVN commit,會(huì)出現(xiàn)如下菜單:
點(diǎn)擊Ok后洼畅,如下圖所示:
這樣就會(huì)提示出錯(cuò)吩案,其原因是因?yàn)椋琹isi只對(duì)ui/js目錄有讀寫的權(quán)限土思,別的目錄只有讀的權(quán)限务热,這里要向code目錄添加一個(gè)文件,顯然是不對(duì)的己儒。以這樣的原理就可以對(duì)所有的目錄分類對(duì)待崎岂,從而答到權(quán)限控制的效果。