JAVA的數(shù)據(jù)權限設計_第1頁
JAVA的數(shù)據(jù)權限設計_第2頁
JAVA的數(shù)據(jù)權限設計_第3頁
JAVA的數(shù)據(jù)權限設計_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

本文格式為Word版,下載可任意編輯——JAVA的數(shù)據(jù)權限設計JAVA的數(shù)據(jù)權限設計

數(shù)據(jù)權限跟功能權限有很大的不同,顆粒度很小,貫穿于整個工程的開發(fā)周期中,無法像功能權限一樣在工程要結尾的時候追加,也有一些公司有自己的權限組件功能權限,給已完成的工程配上權限組件就生效了。數(shù)據(jù)權限做不到組件級別,務必在工程設計階段就已經(jīng)規(guī)劃好。之前看網(wǎng)上同樣有人想基于SPRING切面的原理去實現(xiàn)數(shù)據(jù)權限,這樣就可以做到了低侵入、低耦合,想法很好,可是現(xiàn)實很骨感,這樣做使整個應用系統(tǒng)效率大減折扣,同樣對數(shù)據(jù)權限的操縱策略也很不生動。下面是我為大家?guī)淼年P于JAVA的數(shù)據(jù)權限設計的學識,接待閱讀。

序言

在各種系統(tǒng)中,要保證數(shù)據(jù)對象的安好性以及易操作性,使企業(yè)的各業(yè)務部門、職能部門能夠便當而且高效的協(xié)同工作,那么一個好的數(shù)據(jù)權限管理設計就成為一個關鍵的問題。雖然企業(yè)中各個單元的工作流程有所不同,處理的數(shù)據(jù)對象也有所不同,但是在組織布局、信息的處理方式上具有好多一致的地方,這就為設計數(shù)據(jù)對象的權限操縱供給了一個抽象根基。數(shù)據(jù)權限的操縱不同于一般的功能權限的操縱,一般的功能權限指的是某個用戶、角色或者是某個用戶組能不能操作某種功能。而數(shù)據(jù)權限指的是某個用戶、角色或者是某個用戶組對某個數(shù)據(jù)對象的操作幅度的問題,譬如說用戶A可以對數(shù)據(jù)對象舉行完全操縱,而用戶B那么只能對數(shù)據(jù)對象舉行欣賞的權限,同時數(shù)據(jù)權限操縱隸屬于動態(tài)權限操縱的范疇。

數(shù)據(jù)權限設計

在當前的大量應用程序中都會涉及到權限管理,權限主要分為功能權限和數(shù)據(jù)權限,至于功能權限相對簡樸些,網(wǎng)上也有不少的實現(xiàn)方案,這里不再介紹,下邊主要探討下數(shù)據(jù)權限的設計方案。

數(shù)據(jù)權限跟功能權限有很大的不同,顆粒度很小,貫穿于整個工程的開發(fā)周期中,無法像功能權限一樣在工程要結尾的`時候追加,也有一些公司有自己的權限組件功能權限,給已完成的工程配上權限組件就生效了。數(shù)據(jù)權限做不到組件級別,務必在工程設計階段就已經(jīng)規(guī)劃好。之前看網(wǎng)上同樣有人想基于SPRING切面的原理去實現(xiàn)數(shù)據(jù)權限,這樣就可以做到了低侵入、低耦合,想法很好,可是現(xiàn)實很骨感,這樣做使整個應用系統(tǒng)效率大減折扣,同樣對數(shù)據(jù)權限的操縱策略也很不生動。

下邊提出自己的設計方案,在系統(tǒng)中獨立一個數(shù)據(jù)權限模塊,該模塊可以根據(jù)當前業(yè)務模塊的SQL、當前操作人信息、當前權限的策略來自動生成對應的帶數(shù)據(jù)權限的SQL語句給業(yè)務模塊持續(xù)處理。

數(shù)據(jù)權限設計分析

SQL語句可擴展

數(shù)據(jù)權限往往作為功能權限的高級行為,可以從數(shù)據(jù)對象的幅度方面舉行操縱,譬如用戶只能看自己的訂單、普遍會員看不到某數(shù)據(jù)對象的高級屬性字段等等。顆粒度這么細的處境下對結果集處理鮮明是不成能了,這時只能介入到SQL語句中了,此時又不想在開發(fā)階段讓開發(fā)人員過多的考慮數(shù)據(jù)權限的問題,這時最好把SQL語句給提到一個配置文件中,或者數(shù)據(jù)庫中,開發(fā)階段只需開發(fā)人員通過數(shù)據(jù)權限模塊的接口調(diào)用得到已實現(xiàn)數(shù)據(jù)權限操縱的SQL語句,這樣也算做到的代碼的低侵入。

SQL語句高效解析處理

數(shù)據(jù)權限模塊的核心之一就有SQL語句的高效解析處理,SQL處理指根據(jù)當前登錄人信息及數(shù)據(jù)權限策略生成一個帶有數(shù)據(jù)權限處理結果的SQL語句,所以這里對SQL語句的解析處理務必要求精確、切實。在開發(fā)階段由開發(fā)人員把SQL寫入到配置文件中,在運行階段由數(shù)據(jù)權限取得該SQL舉行分析處理加上數(shù)據(jù)權限,這樣就完成了SQL的組裝處理。

數(shù)據(jù)權限策略設計

最核心的地方就是數(shù)據(jù)權限策略的設計了,這里先引入幾個概念:

1、資源:數(shù)據(jù)權限的操縱對象,業(yè)務系統(tǒng)中的各種資源。譬如訂單單據(jù)、銷售單等

2、主體:用戶、部門、角色等

3、規(guī)矩:用于的條件規(guī)矩

這里側重分析下主體及規(guī)矩,主體有層級關系,可以為不同主體設置不同規(guī)矩,譬如:當前數(shù)據(jù)僅對創(chuàng)造人或者某個人有效、下級主體的權限對于上級主體同樣有效可配置,如可勾選、非當前主體只能看到片面數(shù)據(jù)片面數(shù)據(jù)可選。這里只供給片面規(guī)矩例如,現(xiàn)實環(huán)境中需要根據(jù)企業(yè)環(huán)境或者工程環(huán)境去完善這些

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論