通用數(shù)據(jù)權(quán)限解決方案.doc_第1頁(yè)
通用數(shù)據(jù)權(quán)限解決方案.doc_第2頁(yè)
通用數(shù)據(jù)權(quán)限解決方案.doc_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

通用數(shù)據(jù)權(quán)限解決方案1. 問(wèn)題提出如何能通用的進(jìn)行數(shù)據(jù)權(quán)限處理。2. 主要思路從數(shù)據(jù)庫(kù)角度來(lái)看,數(shù)據(jù)權(quán)限的實(shí)現(xiàn)最終都是落在用某張表的某個(gè)字段取值范圍來(lái)達(dá)到。結(jié)合公司技術(shù)平臺(tái)現(xiàn)狀,提出本模型。3. 定義數(shù)據(jù)權(quán)限模型1、 用戶使用某個(gè)功能單元,其數(shù)據(jù)權(quán)限通過(guò)角色來(lái)配置。2、 單元數(shù)據(jù)權(quán)限授權(quán)操作符是符合sql的操作符:= = like ,特殊操作符:all3、 功能單元:是否有數(shù)據(jù)權(quán)限本單元是否啟用數(shù)據(jù)權(quán)限控制;采用數(shù)據(jù)權(quán)限模式-本單元采用哪種數(shù)據(jù)模式4、 數(shù)據(jù)權(quán)限模式:數(shù)據(jù)對(duì)象(表名)-數(shù)據(jù)權(quán)限控制所用的表名;權(quán)限字段用哪個(gè)字段進(jìn)行權(quán)限控制;過(guò)濾條件-符合where 語(yǔ)法的過(guò)濾語(yǔ)句,必須是數(shù)據(jù)對(duì)象表的字段,值內(nèi)容固定。比如一個(gè)組織表,包含行政組織、工會(huì)組織,但現(xiàn)在只是用行政組織進(jìn)行,則用“組織類(lèi)型=行政組織”來(lái)過(guò)濾即可4. 授權(quán)對(duì)于有數(shù)據(jù)權(quán)限的單元,在角色授權(quán)時(shí),只需要定義數(shù)據(jù)權(quán)限的“操作符”即可。5. 使用1) 權(quán)限模塊提供獲取單元數(shù)據(jù)權(quán)限接口入口參數(shù):帳戶,單元出口參數(shù):數(shù)據(jù)對(duì)象,權(quán)限字段,操作符,權(quán)限值,過(guò)濾條件如果出口參數(shù)為空,表示不進(jìn)行數(shù)據(jù)權(quán)限控制如果出口參數(shù)的“操作符”為“all”,也表示不進(jìn)行數(shù)據(jù)權(quán)限控制*另一種出口參數(shù)定義:數(shù)據(jù)對(duì)象,過(guò)濾的sql2) 單元在數(shù)據(jù)查詢時(shí),獲取當(dāng)前單元數(shù)據(jù)授權(quán)3) 單元獲取的本單元數(shù)據(jù)權(quán)限,對(duì)于結(jié)果不做任何加工,直接隨著查詢傳到數(shù)據(jù)層(數(shù)據(jù)層提供特殊操作符“DATAPRIV”,code也固定為“smt_priv_def”)。在編碼時(shí),做單元查詢時(shí)總是要做該步,而不用關(guān)心本單元實(shí)際是否定義了數(shù)據(jù)權(quán)限。4) 數(shù)據(jù)層處理邏輯:按正常處理傳入的查詢條件,對(duì)于operator=DATAPRIV做如下特殊處理:(1) 判斷權(quán)限結(jié)果為空或權(quán)限結(jié)果.操作符為空,則不起作用(2) 如果單元所查詢的所有數(shù)據(jù)對(duì)象,都不包含權(quán)限結(jié)果.數(shù)據(jù)對(duì)象,則不起作用(3) 否則:拼裝權(quán)限sql(權(quán)限字段,操作符,權(quán)限值),嵌入到業(yè)務(wù)查詢sql(邏輯上是把數(shù)據(jù)對(duì)象表進(jìn)行權(quán)限過(guò)濾的結(jié)果作為業(yè)務(wù)查詢對(duì)應(yīng)的表)6. 方案通用性說(shuō)明1) 需要擴(kuò)展數(shù)據(jù)權(quán)限時(shí),只需要增加一種權(quán)限模式及實(shí)現(xiàn)即可。對(duì)其它程序完全透明。2) 單元不需要先考慮是否要有數(shù)據(jù)權(quán)限,統(tǒng)一在查詢中加上調(diào)用獲取數(shù)據(jù)權(quán)限接口,并傳給數(shù)據(jù)層即可。3) 數(shù)據(jù)層不需要考慮單元特性,只從數(shù)據(jù)角度處理數(shù)據(jù)權(quán)限。4) 該模型具有容錯(cuò)性,即使錯(cuò)誤的定義了數(shù)據(jù)權(quán)限,也不會(huì)導(dǎo)致由于數(shù)據(jù)權(quán)限引起的錯(cuò)誤。7. 方案優(yōu)缺點(diǎn)優(yōu)點(diǎn):通用,可靈活擴(kuò)展,容錯(cuò)性,開(kāi)發(fā)人員不需要關(guān)注數(shù)據(jù)權(quán)限缺點(diǎn):本方案數(shù)據(jù)權(quán)限只能基于單數(shù)據(jù)對(duì)象,不能基于多數(shù)據(jù)對(duì)象。實(shí)現(xiàn)需要服務(wù)層、數(shù)據(jù)層配合;由

溫馨提示

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

評(píng)論

0/150

提交評(píng)論