文檔管理系統之權限云云

作過文檔管理系統的程序員都知道,權限那塊仍是比較複雜的,如今在我內心跟一團亂麻同樣,因此我用這一篇博文分析和記錄一下。如下我所說的目錄是指:文件夾+文件。在談整個系統權限以前我想先頂一個基調就是:「疑罪從無」,我假設我的是對全部目錄是沒有權限的。程序員

1、初級權限分析spa

  1. 職位-目錄:上級職位能夠下級職位的人分配文檔權限,職位權限不可繼承,全部職位默認拒絕權限。
  2. 部門-目錄:上個部門的人能夠給下屬部門分配權限,部門可繼承部門權限,全部部門默認拒絕權限。
  3. 我的-目錄:  我的接授權限指定。
  4. 目錄: 目錄可和職位、部門、我的產生權限關聯,並可繼承上級目錄。

2、中級權限分析繼承

  根據初級權限分析,咱們獲得了三個基本權限關係:職位-目錄、部門-目錄、我的、目錄文檔

下面進行權限的排列組合權限

  1. (職位-目錄)+(部門-目錄):同一個目錄被職位和部門設置了權限
  2. (職位-目錄)+(我的-目錄):同一個目錄被職位和我的設置了權限
  3. (部門-目錄)+(我的-目錄):同一個目錄被部門和我的設置了權限
  4. (職位-目錄)+(部門-目錄)+(我的-目錄):同一個目錄被職位、部門和我的設置了權限

3、高級權限分析程序

其實初級權限分析中我又一個細節沒有說明,那就是每個初級權限都有三個值有三個值贊成、拒絕、棄權,在通常狀況下(即假設職位、部門、我的優先度相同)他們的得出值分別是一、-一、0。文件

但在實際應用中我的權限值>職位權限>部門權限,枚舉

因此我將會獲得初級權限值管理

  1. 職位-目錄:  贊成、拒絕、棄權值分別設置爲:二、-二、0
  2. 部門-目錄:  贊成、拒絕、棄權值分別設置爲:一、-一、0
  3. 我的-目錄:  贊成、拒絕、棄權值分別設置爲:三、-三、0

基於以上定義,咱們將會獲得中級權限值:系統

  1. (職位-目錄)+(部門-目錄):(2+1)、(2+0)、(2-1)
  2. (職位-目錄)+(我的-目錄):(2+3)、(2+0)、(2-3)
  3. (部門-目錄)+(我的-目錄):(1+3)、(1+0)、(1-3)
  4. (職位-目錄)+(部門-目錄)+(我的-目錄):(2+1+3)、(2+1+0)、(2+1-3)、(2+0+3)、(2-1+3)等等這塊枚舉數值將會3*3*3個結果

根據咱們在現實中的定義,只要權限值不可以大於0,則表示這個目錄無此權限。

 以上說得有點抽象,也可能有一些我沒有想清楚,歡迎你們拍磚。

相關文章
相關標籤/搜索