對資料許可權控制的實驗

2021-05-23 08:49:21 字數 1502 閱讀 8100

很早就完成了許可權系統的編碼,這裡把一些功能說明貼出來,也希望提提意見。

許可權系統基於 acegi 框架實現了從前端 頁面到後台資料全面的控制。在許可權控制中,它將許可權分成五類:   

一是系統許可權,主要是對模組為單位的許可權劃分,具體就是用 戶對該模組可見不可見,能不能對該模組進行再授權的操作。表現在使用者介面就是使用者登入系統主頁面後,可以看到的頂部選單和左側 outlookbar 菜 單的內容控制。作為粒度最大的許可權控制,系統實現了 web url 的防盜煉功能。舉例來說,使用者新 開發的乙個叫車輛管理的模組,配置在 http://localhost/business/carmanage.action的 url 下, 當對這個模組的許可權加以控制後,直接在瀏覽器中鍵入 http://localhost/business/carmanage.action 同 樣是無法訪問的,而不僅僅是介面內容的遮蔽。

二是模組操作許可權,在對整個模組的許可權做出控制後,這裡繼 續對模組的瀏覽、增加,修改,刪除的操作許可權做出控制,也可以理解為物件許可權 。還是以車輛管理為 例,不同的人員對這個模組的操作是不同的,有些使用者可以新增,刪除車輛;而有些使用者則只是可以對車輛的情況檢視不能修改。通過系統提供的一套 web 標籤,頁面可以根據使用者不同的操作許可權遮蔽相應的功能按鍵。例如刪除,新增按鍵。使用者繞過頁面直接操作相應業務方法同樣也做 到了嚴格的控制,沒有許可權的訪問會被拒絕同時記入日誌。

三是資料範圍許可權,又可以叫做物件例項級許可權。事實上不是 每個使用者都可以看到所有記錄的。以財務管理為例,部門經理只能檢視金額小於 1w 的資料;而總經理則 沒有限制。 許可權系統對這部分許可權也做出了全面的控制,可以根據資料型別,相應字段數值範圍做出控制。

四是單條資料 acl權 限,為了滿足更嚴格的資料許可權要求, 許可權系統對資料實現了單條資料的 acl 權 限,具體說就是對每條資料都實現了許可權控制,每條資料都有一到多條許可權資料與其對應。以個人通訊錄為例,每個使用者都維護自己的乙個通訊錄,這些資料都只是 對本人可見,其他人不可見。但使用者可以對這些資料做出授權,將某條****以授權的方式共享給其他人,並賦予不同的許可權,包括擁有,修改,刪除,瀏覽四種 許可權。

五是資料字段權 限,通過 xml 配置, 系 統 保證了使用者的最小粒度的許可權控制。每條業務資料許可權可以精確控制到每乙個字段。包括單個欄位的可否瀏覽以及可否修改。保證了 敏感資訊的安全性。

授權,作為許可權系統的重要部分, 系統 提供了相當方便的操作體驗。以樹狀 的方式展現許可權主體(使用者,角色,部門)以及資源,方便,直接,一目了然。區別與傳統的 rbac 模 型,許可權不僅僅可以分配給角色,也可以分配給部門和使用者。實際的許可權是這三者許可權的疊加,最大限度的方便使用者操作。考慮到使用者的擴充套件,系統提供兩個許可權繼 承規則介面,使用者可以自定義許可權繼承的規則。例如,部門 a 下有部門 a1 , 部門 a 的許可權是否由部門 a1 繼承。

整個許可權系統的資料都建立在系統統一的快取管理之上,使用者登入後,其許可權資訊即被緩 存,保證系統的效率

資料庫許可權實驗

sql alter table reader enable row movement table altered sql flashback table reader to timestamp to timestamp 2018 11 23 19 00 yyyy mm dd hh24 mi done...

怎麼控制報表的資料許可權

控制報表資料訪問許可權,是讓不同的人訪問同一張報表的時候所看到的資料是不同的或者說只能看到許可權範圍內的資料。報表工具通用的做法是控制資料集 報表所呈現的資料基本都是來自資料集 以 sql 資料集為例,只要 sql 的條件不一樣,返回的資料也就不同了。比如 sql 寫成 select from t ...

怎麼控制報表的資料許可權

控制報表資料訪問許可權,是讓不同的人訪問同一張報表的時候所看到的資料是不同的或者說只能看到許可權範圍內的資料。報表工具通用的做法是控制資料集 報表所呈現的資料基本都是來自資料集 以 sql 資料集為例,只要 sql 的條件不一樣,返回的資料也就不同了。比如 sql 寫成 select from t ...