各位高手,問下許可權上的問題

haluomao發表於2006-08-04
我們作的是文件系統,介面和功能都和windows的資源管理器相似,使用者可以建立文件庫,在文件庫中建立目錄,目錄下可以新增檔案。。。
文件庫、目錄和檔案都可以設定操作許可權:檢視、新增、複製、鎖定、編輯、版本、複製等,現在遇到幾個疑問:
假設現在有一個文件庫w,w下存在目錄folder1,folder1下面存在目錄folder2,folder2下面存在目錄folder3
下面是許可權的一些規則
1.上下級目錄的許可權是繼承關係(類似作業系統的目錄許可權)
對使用者操作來說,子目錄繼承父目錄的操作許可權,這樣可以保證在移動或複製某個目錄時,使用者一定擁有移動或複製該目錄下所有子目錄的許可權,但同時出現一個問題,子目錄的許可權在擴大,無法“私有化”,就是說使用者能對父目錄做什麼,就一定能對子目錄做什麼
之所以設定許可權繼承的規則是也為了防止出現孤島問題(某個目錄無法被訪問),如果目錄的許可權不存在繼承,如:使用者能看folder3不能看folder1,從介面上來說,看不到父目錄也就看不到子目錄,使用者還是無法看到folder3
2.上下級目錄的許可權不存在任何關係
這時候左側的目錄樹會顯示出所有目錄(放鬆對目錄樹的許可權),如果使用者對某個目錄沒有任何許可權,他雖然能看到這個目錄,卻看不到任何操作和檔案,這樣可以解決孤島問題,但移動和複製目錄時會出現問題,使用者a可以移動folder1,但沒有許可權移動folder2,移動folder1時怎麼處理?除了folder2以外都被移動嗎,或者也移動folder2或者提示不能移動?(我們知道window會提示某個檔案正在使用或無法移動)
從上面看好像是第一個方案好些,但也存在問題,子目錄不能私有化,我們的文件系統是按機構劃分的,假如有兩個目錄,a處和b科,b科是a處的子目錄,但b科的安全性比a處高,按1種許可權繼承的方式是無路如何都實現不了的,同時,如果使用者能移動a處不能移動b科,也出現2種提到的問題
3.檔案和目錄哪個許可權的優先順序高
我們現在定義的是檔案的優先權高,比如說使用者操作a目錄下存在一個b檔案
能看a目錄 不能看b檔案 則不能看b檔案
能刪a目錄 不能刪b檔案 則不能刪b檔案 刪a目錄時強制刪除或只刪除可以刪的或提示b不能刪除?
能複製a目錄 不能複製b檔案 則不能複製b檔案
4.差點忘了文件庫的許可權,現在我們設定的是檔案的許可權高於目錄的許可權,目錄的許可權高於文件庫的許可權
大致這些,請各位高手指點,我快迷茫死了

相關文章