B S頁面 通用資料許可權控制

2022-02-23 13:59:01 字數 1547 閱讀 3739

資料許可權常見場景有:

資料僅部門級可見

資料僅本人可見

資料僅某角色可見

在可見的基礎上,進行功能控制: 修改,刪除

在樹形結構裡,在可見基礎上進行 新增/修改/刪除控制

我的實現方式: 資源---所有者   (請思考哪些可以是資源, 哪些可以是所有者)。 例如:在乙個oa應用中的擬辦工作,它是所有單證流程的起始點。但不同的流程面,有效的發起人是必須限定的:請假單--全體人員; 收文發文--辦公室人員;會議室申請單--專案經理;下面我將實現的是:所有的單證都從屬於類別,所有屬於「oa單證」,僅「辦公室」人員可以擬定。

確定資源定義位置。  如使用者,則使用者維護頁是該資源的位置,資源的id就是userid。 這裡進入「表單類別設定頁面」。

按住alt+雙擊 頁面空白處,彈出資源授權頁,選擇操作為「檢視」。實際上,任何擁有「修改」的人,都擁有檢視許可權,同理: 檢視《修改《建立《刪除.

2. 為指定資源設定「所有者」。 所有者型別可以有: 部門/人員/工作組/角色組

3. 儲存設定。 這樣就配置了僅「辦公室」「陳偉」能擬定「oa表單」了。

4.現在進入「擬辦工作頁面」。 此時許可權尚未啟用。 (哪些點可以進行許可權控制? request—>service—>dao—>db  已及反方向)

5. 在擬辦工作頁面, 生成樹形節點, 查詢節點中,加入c.id 控制。  這就意味著, 輸出列表時,會檢驗每乙個「類別」,判斷當前使用者是否屬於授權的「部門/使用者/工作組」

6. 用財務部人員登入系統,類別「oa單證」已經消失了。

7.以上magic僅僅是queryinfo在提交nhibernate之前的乙個小動作,呼叫aclhqlinjector而已。 目前的觸發條件是aclproperty。 對於大量資料許可權定義的情況, 完全可以將inject條件在資料庫中定義。 queryinfo預設觸發檢驗即可。

8. 最後可見 資料許可權設定表 的簡單結構:

B S頁面 通用許可權控制 2

恰逢公司網路故障,jira svn oracle都無法連線上,那就繼續上次的議題吧。實現原理深入 目標 檢視所有招標合同,select from documents 許可權約束場景 a.每個使用者僅可檢視本部門建立的合同 where createdoffice in currentuser.chil...

通用許可權管理設計 之資料許可權

本文將對這種設計思想作進一步的擴充套件,介紹資料許可權的設計方案。許可權控制可以理解,分為這幾種 功能許可權 能做什麼的問題,如增加產品。資料許可權 能看到哪些資料的問題,如檢視本人的所有訂單。字段許可權 能看到哪些資訊的問題,如 商賬戶,看不到角色 部門等資訊。上面提到的那種設計就是 功能許可權 ...

頁面端標籤控制許可權

匯入依賴 org.springframework.security spring security taglibs version spring security.xml中新增 webexpressionhandler class org.springframework.security.web.a...