版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1 K2MG-E《專業(yè)技術(shù)人員績效管理與業(yè)務(wù)能力提升》練習(xí)與答案BI數(shù)據(jù)分析是目前企業(yè)的熱門應(yīng)用,而對企業(yè)來說,權(quán)限控制是非常重要的,尤其是作為決策用的企業(yè)報(bào)表。目前基于微軟SQLServer體系的BI架構(gòu)為IntegrationServices+AnalysisService+ReportingServices,IntegrationServices和Analysis都屬于應(yīng)用后臺的服務(wù),不會在用戶前端展現(xiàn),其權(quán)限控制體系不在我們這篇文章的討論范圍內(nèi)(但是實(shí)現(xiàn)數(shù)據(jù)級權(quán)限控制,需要AnalysisServices的參與)。而對于前端展示用的企報(bào)表;數(shù)據(jù)級權(quán)限則比較復(fù)雜了,任何人看同一張報(bào)表,報(bào)表上的數(shù)據(jù)只能是他有權(quán)限查看的數(shù)據(jù)。簡單說,就是總經(jīng)理看到的數(shù)據(jù)和經(jīng)理看到的數(shù)據(jù)是不一樣的,雖然他們在看同一張報(bào)表。比較報(bào)表級權(quán)限和數(shù)據(jù)級權(quán)限,性,還是應(yīng)該控制下的)。業(yè)客戶實(shí)施其BI項(xiàng)目中,對方非常重視的一個(gè)功能。這里先簡單介紹下這個(gè)客戶和項(xiàng)目,出于保密要求,我把該客戶叫做CustomerS(簡稱CS,呵呵,不是那個(gè)游戲哦)。S區(qū)域;部門和區(qū)域是相互交叉的;某個(gè)部門的總部人員能夠看到全國所有區(qū)域的數(shù)據(jù);而區(qū)域員工則只能看到該區(qū)域的數(shù)據(jù)了。用戶能夠查看的數(shù)據(jù)權(quán)限,需要在網(wǎng)頁上可以進(jìn)行配置。這就是客戶對數(shù)據(jù)級權(quán)限的要求。針對這些需求,數(shù)據(jù)級權(quán)限解決方案采用如下架構(gòu):用戶查看報(bào)表Cube從數(shù)據(jù)庫中(記錄用戶的數(shù)據(jù)權(quán)限配置)獲得訪問用戶的權(quán)限配置,根據(jù)配置返回相應(yīng)的數(shù)據(jù)報(bào)表顯示結(jié)果數(shù)據(jù)2 K2MG-E《專業(yè)技術(shù)人員績效管理與業(yè)務(wù)能力提升》練習(xí)與答案用戶訪問數(shù)據(jù)權(quán)限配置頁面(由于基于Sharepoint,因此是內(nèi)嵌數(shù)據(jù)權(quán)限Webpart的Sharepoint頁面)用戶修改數(shù)據(jù)權(quán)限設(shè)置,并且保存到數(shù)據(jù)庫中說明:這里面進(jìn)行數(shù)據(jù)權(quán)限控制的對象為域帳號(可以為域用戶或者組)??v覽數(shù)據(jù)權(quán)限實(shí)現(xiàn)的這個(gè)流程,我們提取出中間幾個(gè)重要的實(shí)現(xiàn)具體講解解決方案,他們是:Cube中如何進(jìn)行權(quán)限控制,如何讀取Cube結(jié)構(gòu)Cube中如何進(jìn)行權(quán)限控制SQLServerAnalysisServices本身提供了一種設(shè)置Cube數(shù)據(jù)數(shù)據(jù)權(quán)限的機(jī)制。打開AnalysisServices,我們可以看到“程序集”和“角色”2個(gè)條目,他們就是和數(shù)據(jù)權(quán)限設(shè)置緊密相關(guān)的內(nèi)容了。如下圖所示:程序集:這是一個(gè)DLL類庫,通過VisualStudio中新建一個(gè)ClassLibrary(類庫)來實(shí)現(xiàn)。主要作用是返角色:這是訪問用戶的角色。在這里面可以設(shè)置角色的用戶,更重要的是設(shè)置Cube調(diào)用哪個(gè)程序集來獲取用戶能夠訪問的數(shù)據(jù)。我們先來看DataSecurity.dll程序集。這個(gè)程序集的代碼其實(shí)很簡單,不會超過30行。其主要流程如下:3 K2MG-E《專業(yè)技術(shù)人員績效管理與業(yè)務(wù)能力提升》練習(xí)與答案1.讀取訪問用戶的數(shù)據(jù)權(quán)限設(shè)置2.根據(jù)數(shù)據(jù)權(quán)限設(shè)置,返回一個(gè)能夠訪問的Dimension數(shù)據(jù)我們看看如下的主要代碼(這個(gè)類庫也就只需要這樣一個(gè)CS文件):eBI{assDataSecurity{publicstaticstringGetDimensionSetstringdomainaccountstringdimens參數(shù)比較重要omainaccount入dimension行設(shè)置{returnLocationCity].&[Seattle]}",返回的結(jié)果示例ConnectionconnectionnewSqlConnectionconnectionstringandcommandnewSqlCommandSPSecurityGetDimensionSetByLogdTypeSystemDataCommandTypeStoredProcedure4 K2MG-E《專業(yè)技術(shù)人員績效管理與業(yè)務(wù)能力提升》練習(xí)與答案lParameterpnewSqlParameterdomainaccountdomainaccounSqlParameterpnewSqlParameterdimensiondimensionsAddpsAddpeaderreadercommandExecuteReaderptywhile(reader.Read()){ringEmptyresultsetresultsetstringreaderDimensionSet"];}5 K2MG-E《專業(yè)技術(shù)人員績效管理與業(yè)務(wù)能力提升》練習(xí)與答案return+result_set+"}";}ataSecurity{}}}這個(gè)類庫的作用很簡單,拋開BI不談,其實(shí)他就調(diào)用了一個(gè)存儲過程,把返回結(jié)果做了一個(gè)字符串拼接,回這個(gè)字符串。一般的返回結(jié)果會是大致如下:{[Location].[City].&[Seattle]},這表示用戶在Location維度下只能夠看到Seattle的數(shù)據(jù),其他的城市數(shù)據(jù)都看不到。當(dāng)然如果是多個(gè)城市,那就是用逗號分隔的列表,比如:{[Location].[City].&[Seattle],[Location].[City].&[Washington]}。數(shù)據(jù)權(quán)限,記錄在數(shù)據(jù)庫中的字符串了。在這里你要更清楚地話,就需要進(jìn)一步了解MDX,這不在這篇文章的討論范圍之內(nèi)。我們首先完成了第一步,結(jié)下來就是在角色設(shè)置里調(diào)用這個(gè)DataSecurity.dll類庫了。這個(gè)比較簡單,但是繁瑣,對于Cube中的每一個(gè)維度都需要手動設(shè)置。這個(gè)步驟根據(jù)如下的示意圖走就是了,沒有什么代碼工作。6K2MG-E《專業(yè)技術(shù)人員績效管理與業(yè)務(wù)能力提升》練習(xí)與答案打開SecruityRole角色的屬性,進(jìn)入“維度數(shù)據(jù)”中就可以設(shè)置數(shù)據(jù)權(quán)限了。每一個(gè)需要控制數(shù)據(jù)權(quán)限的維度和屬性都需要設(shè)置下,基本上設(shè)置為一條語句:StrtoSet(BI.DataSecurity.GetDimensionSet(USERNAME,"City"))則為我們自定義的參數(shù),表示要獲取City屬性維度的授權(quán)數(shù)據(jù)。到了這里,我們已經(jīng)完成了很重要的一步,數(shù)據(jù)權(quán)限的主體已經(jīng)實(shí)現(xiàn)了。但是對于用戶來說,他需要有一個(gè)前端界面來設(shè)置這些數(shù)據(jù)權(quán)限。下面的內(nèi)容就是為了解決這個(gè)問題,不過這里,我只挑出最重要的部分,讀取Cube結(jié)構(gòu)來講,其他的部分你完全可以自己設(shè)計(jì)。在CS這個(gè)項(xiàng)目中,我們是做了如下工作:所有的設(shè)置界面都是SharepointWebpart(請參見相關(guān)內(nèi)容)Webpart中的ajax(這個(gè)要單獨(dú)拿出來說,是因?yàn)檫@個(gè)部分比較麻煩),需要用到ajax的原因就是Cube的結(jié)構(gòu)是很大的,如果一次性讀出來,肯定是等到花兒也謝了,相信沒有人會用他。后臺可以控制哪些維度需要設(shè)置數(shù)據(jù)權(quán)限(有些維度不需要設(shè)置數(shù)據(jù)權(quán)限,那么就不讓他在ajax樹中展示7 K2MG-E《專業(yè)技術(shù)人員績效管理與業(yè)務(wù)能力提升》練習(xí)與答案有自定義的角色,這個(gè)角色不同于剛才講的Cube中的角色。這是用戶自己定義的數(shù)據(jù)權(quán)限角色,剛才的角色只需要那一個(gè)就足夠了。有了角色自然有搜索、設(shè)置用戶、設(shè)置角色的數(shù)據(jù)權(quán)限、編輯、刪除這個(gè)都可以根據(jù)你的需要進(jìn)行設(shè)計(jì),不一定要完全相同,就比如我用了ajax樹來展示Cube結(jié)構(gòu),但是你采用別的方式。下面我們就進(jìn)入下一個(gè)重要話題,就是讀取Cube的結(jié)構(gòu)(其實(shí)在讀取這個(gè)結(jié)構(gòu)本身,前面的數(shù)據(jù)權(quán)限就已經(jīng)開始起作用了,沒有權(quán)限訪問的數(shù)據(jù)不會出現(xiàn)在ajax樹中)。,如何讀取Cube結(jié)構(gòu)讀取Cube的結(jié)構(gòu),微軟已經(jīng)提供了一套非常豐富的類庫給我們。這里就簡單介紹下,如果你在具體實(shí)現(xiàn)過,相信上Google是一個(gè)最好的辦法。下面我們介紹讀取Cube結(jié)構(gòu)的具體內(nèi)容,首先就是連上你的Cube。這主要通過如下語句完成。AdomdConnectionadomdConnectionnewAdomdConnection();dConnectionConnectionStringDataSourcelocalhostCatalogMyCubectionOpentionCloseionDisposeCube:CubeDefcube=adomdConnection.Cubes[“MyCubeName”];Dimension:cube.Dimensions,這里面是所有的Dimension。Hierarchy:dimension.Hierarchies,所有的層次Member:hierarchy.Levels[0].GetMembers(),所有成員8K2MG-E《專業(yè)技術(shù)人員績效管理與業(yè)務(wù)能力提升》練習(xí)與答案e當(dāng)然了,首先我們不能忘了添加一個(gè)引用:Microsoft.AnalysisService
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度航空業(yè)試用期勞動合同規(guī)范文本
- 二零二五年度研學(xué)旅行安全保障及意外險(xiǎn)合同
- 二零二五年度水電工程安裝與安全保障協(xié)議
- 2025年度園林苗木養(yǎng)護(hù)與環(huán)保宣傳教育合同
- 雅閣底盤隔音施工方案
- 單元測評卷9數(shù)學(xué)試卷
- 拆除煙道施工方案
- 2025年度文化旅游臨時(shí)工勞動合同模板3篇
- 2025年度沉井施工進(jìn)度管理勞務(wù)分包合同協(xié)議4篇
- 全球資本市場互聯(lián)互通影響因素-深度研究
- 寒潮雨雪應(yīng)急預(yù)案范文(2篇)
- 垃圾車駕駛員聘用合同
- 2024年大宗貿(mào)易合作共贏協(xié)議書模板
- 變壓器搬遷施工方案
- 單位轉(zhuǎn)賬個(gè)人合同模板
- 八年級語文下冊 成語故事 第十五課 諱疾忌醫(yī) 第六課時(shí) 口語交際教案 新教版(漢語)
- 中考語文二輪復(fù)習(xí):記敘文閱讀物象的作用(含練習(xí)題及答案)
- 2024年1月高考適應(yīng)性測試“九省聯(lián)考”數(shù)學(xué) 試題(學(xué)生版+解析版)
- (正式版)JBT 11270-2024 立體倉庫組合式鋼結(jié)構(gòu)貨架技術(shù)規(guī)范
- EPC項(xiàng)目采購階段質(zhì)量保證措施
- T-NAHIEM 101-2023 急診科建設(shè)與設(shè)備配置標(biāo)準(zhǔn)
評論
0/150
提交評論