亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Power BI與統(tǒng)一身份認(rèn)證 和授權(quán)系統(tǒng)集成的研究與實踐

        2018-02-28 10:31王萬東王罡杜晉博方淑津張林石
        中國教育信息化·高教職教 2018年12期
        關(guān)鍵詞:高校信息化數(shù)據(jù)可視化

        王萬東 王罡 杜晉博 方淑津 張林石

        摘 要:本地部署的Power BI采用Windows身份認(rèn)證方式,要實現(xiàn)與統(tǒng)一身份認(rèn)證和授權(quán)系統(tǒng)的集成,需要改寫其認(rèn)證方式為Forms認(rèn)證。同時通過控制報表文件夾訪問權(quán)限,來實現(xiàn)與統(tǒng)一授權(quán)系統(tǒng)的集成。本文以上海交通大學(xué)管理決策系統(tǒng)與統(tǒng)一身份認(rèn)證和授權(quán)系統(tǒng)為研究對象,介紹了Power BI與統(tǒng)一身份認(rèn)證和授權(quán)系統(tǒng)集成的主要步驟,并列出了關(guān)鍵代碼。

        關(guān)鍵詞:Power BI ;數(shù)據(jù)可視化;統(tǒng)一身份認(rèn)證;統(tǒng)一授權(quán);高校信息化

        中圖分類號:TP311.1 文獻(xiàn)標(biāo)志碼:A 文章編號:1673-8454(2018)23-0054-04

        一、背景介紹與相關(guān)工作

        1.背景介紹

        隨著高校信息化的不斷發(fā)展,積累了大量的人事、財務(wù)、外事、教務(wù)、資產(chǎn)等方面的數(shù)據(jù),為各個高校進(jìn)行大數(shù)據(jù)分析奠定了基礎(chǔ)。一些高校為了更好地發(fā)揮大數(shù)據(jù)的價值,開始建立管理決策支持系統(tǒng)。高校的大數(shù)據(jù)分析平臺,需要建立直觀的可視化分析展示平臺,確保數(shù)據(jù)安全和穩(wěn)定,數(shù)據(jù)自動更新,對接學(xué)校統(tǒng)一身份認(rèn)證和授權(quán)體系,實現(xiàn)學(xué)校不同層級管理人員的操作權(quán)限、數(shù)據(jù)權(quán)限,并為各個業(yè)務(wù)領(lǐng)域內(nèi)的專業(yè)人員提供高效易用的分析數(shù)據(jù)、報表等專業(yè)分析工具,達(dá)到以支持學(xué)校管理決策的作用。因此選擇一款適合高校的BI產(chǎn)品變得十分關(guān)鍵。由于Power BI產(chǎn)品比同行業(yè)性價比高、發(fā)展趨勢好,因此上海交通大學(xué)管理決策系統(tǒng)選擇了微軟的Power BI產(chǎn)品構(gòu)架?;跀?shù)據(jù)安全和性價比的考慮,選擇了Power BI 本地部署的方式。由于本地部署是基于Windows身份認(rèn)證方式,所以Power BI與學(xué)校的統(tǒng)一身份認(rèn)證和授權(quán)的無縫集成工作變得十分重要。本文對Power BI與上海交通大學(xué)統(tǒng)一身份認(rèn)證和授權(quán)系統(tǒng)的集成實現(xiàn)進(jìn)行詳細(xì)分析。

        2.Power BI

        Power BI 是一套商業(yè)數(shù)據(jù)分析工具,為管理者提供決策支持??蛇B接數(shù)百個數(shù)據(jù)源、簡化數(shù)據(jù)準(zhǔn)備并提供及時分析。生成美觀的報表并進(jìn)行發(fā)布,供組織在 Web 和移動設(shè)備上使用。每個人都可創(chuàng)建個性化儀表板,獲取針對其業(yè)務(wù)的全方位獨(dú)特見解。在企業(yè)內(nèi)實現(xiàn)擴(kuò)展,內(nèi)置管理和安全性。Power BI都可讓你輕松地連接到數(shù)據(jù)源,直觀看到或發(fā)現(xiàn)重要內(nèi)容,與任何所希望的人進(jìn)行共享。[1]

        3.統(tǒng)一身份認(rèn)證和授權(quán)系統(tǒng)

        (1)統(tǒng)一身份認(rèn)證

        單點(diǎn)登錄(即jaccount)是上海交通大學(xué)網(wǎng)絡(luò)信息中心開發(fā)的用戶認(rèn)證體系。通過jaccount認(rèn)證體系,可以在Web應(yīng)用中實現(xiàn)單點(diǎn)登錄,即用戶在一個瀏覽器會話期里只需登錄一次就能進(jìn)入所有他擁有訪問權(quán)限的jaccount成員站點(diǎn)。同時,jaccount也可以為校內(nèi)第三方應(yīng)用提供統(tǒng)一身份認(rèn)證和單點(diǎn)登錄服務(wù),提供了方便的開發(fā)方式和接口。[2]

        (2)統(tǒng)一授權(quán)系統(tǒng)

        統(tǒng)一授權(quán)系統(tǒng)是在統(tǒng)一身份認(rèn)證體系的基礎(chǔ)上建立起來的統(tǒng)一管理各業(yè)務(wù)系統(tǒng)權(quán)限、角色、崗位的通用平臺,各業(yè)務(wù)系統(tǒng)可以在統(tǒng)一授權(quán)系統(tǒng)中定義所需的權(quán)限、角色、崗位、屬性等內(nèi)容,管理員可以在統(tǒng)一授權(quán)系統(tǒng)中通過統(tǒng)一的入口直接管理各業(yè)務(wù)系統(tǒng)的角色和崗位。各業(yè)務(wù)系統(tǒng)可以通過Web 接口或者數(shù)據(jù)交換平臺獲取用戶在各自業(yè)務(wù)系統(tǒng)中的角色、崗位和權(quán)限。[3]

        二、設(shè)計與實現(xiàn)

        1.概述

        用Power BI相關(guān)產(chǎn)品開發(fā)數(shù)據(jù)分析系統(tǒng),主要開發(fā)內(nèi)容包括,建立數(shù)據(jù)倉庫、創(chuàng)建Sql Server Analysis Service模型項目、創(chuàng)建Sql Server Integration Services項目、創(chuàng)建Power BI Report Server、Power BI Desktop進(jìn)行自助分析并發(fā)布到Power BI Report Server、Web應(yīng)用訪問Power BI Report Server發(fā)布的報表等,本文提到的Web應(yīng)用系統(tǒng)主要是指上海交通大學(xué)管理決策系統(tǒng)。具體的業(yè)務(wù)主要是利用ETL工具從數(shù)據(jù)中心獲取到相關(guān)業(yè)務(wù)數(shù)據(jù)存到數(shù)據(jù)倉庫,建立數(shù)據(jù)模型,創(chuàng)建大數(shù)據(jù)可視化的分析圖表發(fā)布到圖表服務(wù)器,用戶通過Web應(yīng)用系統(tǒng)訪問相應(yīng)的圖表。具體的Power BI 本地部署架構(gòu)如圖1所示。

        本文討論的解決方案是基于Power BI 采用本地部署的方式。Power BI與學(xué)校的統(tǒng)一身份認(rèn)證和授權(quán)系統(tǒng)集成主要有兩個難點(diǎn),一個是用戶通過統(tǒng)一身份認(rèn)證登錄后,如何免登錄到Power BI Report Server;另一個是用戶登錄到Power BI Report Server后,如何控制用戶訪問Power BI Report Server報表權(quán)限。

        2.統(tǒng)一身份認(rèn)證集成

        由于本文討論的Power BI基于本地部署的方式,所以Power BI Report Server的認(rèn)證方式是Windows身份認(rèn)證的方式,需要借助于CustomSecuritySample開源項目[4]來實現(xiàn)自定義認(rèn)證。需要對CustomSecuritySample項目的代碼進(jìn)行二次開發(fā),同時按照CustomSecuritySample項目的說明進(jìn)行配置,從而實現(xiàn)用戶通過統(tǒng)一身份認(rèn)證后登錄到Web應(yīng)用系統(tǒng),然后借助CustomSecuritySample實現(xiàn)Power BI Report Server的Forms認(rèn)證,從而自動登錄到Power BI Report Server。(見圖2)

        (1)搭建項目

        本系統(tǒng)開發(fā)中用的開發(fā)工具是Microsoft Visual Studio 2015、Microsoft SQL Server 2016,以自定義認(rèn)證項目CustomSecuritySample為基礎(chǔ)進(jìn)行二次開發(fā),用Microsoft Visual Studio 2015打開CustomSecuritySample.sln,添加引用Microsoft.ReportingServices.Interfaces.dll。

        (2)項目關(guān)鍵代碼

        修改Logon.aspx里的Page_Load方法,用戶登錄Web應(yīng)用后,自動登錄到Power BI Report Server,這樣用戶查看報表的時候就可以直接訪問發(fā)布在Power BI Report Server里的報表了。主要代碼如下所示:

        //Logon.aspx.cs里的代碼,統(tǒng)一身份認(rèn)證登錄后自動跳轉(zhuǎn)到自定義認(rèn)證項目的Logon.aspx頁面,在Page_Load方法里進(jìn)行登錄驗證

        ReportServerProxy reportServerProxy = new ReportServerProxy();

        reportServerProxy.Url = “/ReportServer/ReportService2010.asmx”;

        try{

        //調(diào)用AuthenticationExtension.cs里的LogonUser方法

        reportServerProxy.LogonUser(uname, upwd, null);

        Response.Redirect(returnURL, false);// returnURL是跳轉(zhuǎn)過來的url

        return;

        }

        catch (Exception ex){

        Response.Redirect("/Logon.aspx");// cookie過期或者身份驗證錯誤。

        Response.End();

        }

        // AuthenticationExtension.cs里的LogonUser方法的主要代碼

        bool result = AuthenticationUtilities.VerifyPassword(userName, password);

        // AuthenticationUtilities.cs里的VerifyPassword方法代碼

        主要是就是驗證用戶名和密碼是否正確。如果正確返回true,用戶自動登錄到Power BI Report Server,自定義認(rèn)證項目內(nèi)部實現(xiàn)了登錄到Power BI Report Server。

        (3)項目配置部署到Power BI Report Server服務(wù)器

        一是將Logon.aspx頁面復(fù)制到Report Server的安裝目錄下。將CustomSecurity.dll和CustomSecurity.pdb復(fù)制到bin文件夾下,同理將這兩個文件復(fù)制到Portal和PowerBI安裝目錄下。

        二是修改RSReportServer.config文件。找到元素進(jìn)行修改,主要是把認(rèn)證方式改為Forms認(rèn)證,如下所示:

        三是修改Report Server的Web.config文件。找到元素并將Mode屬性更改為Forms,如下所示:

        四是配置Passthrough cookies,如下所示:sqlAuthCookie

        (4)項目遠(yuǎn)程調(diào)試

        項目部署好后,如果有問題可以用遠(yuǎn)程調(diào)試來定位問題。下面就給出遠(yuǎn)程調(diào)試的主要步驟。主要就是在自定義認(rèn)證項目CustomSecuritySample里修改好代碼,部署到Power BI Report Server后,如果發(fā)現(xiàn)修改的內(nèi)容沒有生效或出錯,就可以開啟遠(yuǎn)程調(diào)試的方式來定位問題。遠(yuǎn)程調(diào)試主要就是把本地的Visual Studio 2015安裝目錄下的 Remote Debugger文件夾全部拷貝到Power BI Report Server部署所在的服務(wù)器上,然后以管理員的權(quán)限運(yùn)行msvsmon文件,在工具菜單里選擇允許任何人遠(yuǎn)程調(diào)試即可。在Visual Studio 2015項目里選擇附加到進(jìn)程調(diào)試,傳輸方式選擇“遠(yuǎn)程(無身份驗證)”,限定符的IP為遠(yuǎn)程服務(wù)器的IP地址,端口號是msvsmon里允許的端口號,例如211.X.X.58:5022 。點(diǎn)擊刷新按鈕,附加到相應(yīng)的進(jìn)程即可進(jìn)行遠(yuǎn)程調(diào)試。

        3.統(tǒng)一授權(quán)系統(tǒng)集成

        上海交大統(tǒng)一授權(quán)系統(tǒng)可以對用戶進(jìn)行崗位授權(quán),例如在統(tǒng)一授權(quán)系統(tǒng)中,對用戶A授權(quán)崗位B,這樣用戶A就擁有了崗位B在各個應(yīng)用系統(tǒng)中對應(yīng)的崗位權(quán)限。崗位權(quán)限在應(yīng)用系統(tǒng)中進(jìn)行設(shè)置,崗位可以被授予頁面權(quán)限,用戶登錄應(yīng)用系統(tǒng)后就可以訪問應(yīng)用系統(tǒng)中相應(yīng)的頁面。而我們討論的Power BI的報表就是嵌套在頁面里,如果想訪問頁面里的報表內(nèi)容,就必須把Power BI Report Server里的報表訪問權(quán)限授予崗位,這樣用戶擁有了報表對應(yīng)的崗位權(quán)限后就可以訪問報表了。

        Power BI Report Server報表崗位授權(quán)的關(guān)鍵步驟是把報表訪問的權(quán)限授予崗位,這樣用戶擁有崗位的權(quán)限后就可以訪問報表了。用Power BI Desktop制作好報表后,發(fā)布到Power BI Report Server指定的文件夾里。發(fā)布報表前管理員需要在Power BI Report Server上新建文件夾。在對文件夾的安全性里添加“組或用戶”,新增“組或用戶”的時候需要和崗位名稱保持一致,同時用戶訪問報表的時候會判斷用戶的崗位是否在文件夾的“組或用戶”里。主要代碼是改寫CustomSecuritySample項目里的Authorization.cs類的CheckOperations方法。主要代碼如下所示:

        //通過用戶名獲取用戶崗位

        DataSet dsRoles = GetUserRoles(principalName);

        if (dsRoles.Tables[0].Rows.Count > 0){

        roles = new string[dsRoles.Tables[0].Rows.Count];

        for (int i = 0; i < dsRoles.Tables[0].Rows.Count; i++){

        roles[i] = dsRoles.Tables[0].Rows[i][0].ToString();

        }

        if (roles != null){

        foreach (string role in roles){

        //校驗用戶訪問文件夾的權(quán)限

        if (IsUserAuthorized(role, acl, requiredOperation))

        return true;

        }}

        return false;

        }else{

        return false;

        }

        private bool IsUserAuthorized(string principalName, AceCollection acl, object requiredOperation)

        {

        CollectionBase operations = null;

        if (principalName.Trim() == String.Empty) return false;

        if (0 == String.Compare(principalName, m_adminUserName, true, CultureInfo.CurrentCulture)) return true;

        foreach (AceStruct ace in acl)

        {

        if (0 != String.Compare(principalName, ace.PrincipalName, true, CultureInfo.CurrentCulture)) continue;

        if (requiredOperation is CatalogOperation)

        operations = ace.CatalogOperations;

        else if (requiredOperation is DatasourceOperation)

        operations = ace.DatasourceOperations;

        else if (requiredOperation is FolderOperation)

        operations = ace.FolderOperations;

        else if (requiredOperation is ReportOperation)

        operations = ace.ReportOperations;

        else if (requiredOperation is ResourceOperation)

        operations = ace.ResourceOperations;

        foreach (object aclOperation in operations)

        {

        if (aclOperation.ToString() == requiredOperation.ToString()) return true;

        }

        }

        return false;

        }

        三、結(jié)束語

        本文闡述了上海交大管理決策系統(tǒng)采用本地部署的Power BI產(chǎn)品、上海交大統(tǒng)一身份認(rèn)證和授權(quán)系統(tǒng)進(jìn)行無縫集成的設(shè)計和實現(xiàn),其中的難點(diǎn)就是本地部署Power BI產(chǎn)品采用的是Windows身份認(rèn)證方式,借助于自定義認(rèn)證項目改寫其認(rèn)證方式為Forms認(rèn)證,同時通過控制Power BI Report Server里文件夾訪問權(quán)限,來實現(xiàn)與統(tǒng)一授權(quán)系統(tǒng)集成。授權(quán)用戶通過統(tǒng)一身份認(rèn)證登錄后,根據(jù)其崗位顯示相應(yīng)的菜單,如果有權(quán)限就可以在Web應(yīng)用系統(tǒng)里直接瀏覽相應(yīng)菜單下的Power BI Report Server里的報表了,從而實現(xiàn)了對報表的精確權(quán)限控制。由于Power BI的功能強(qiáng)大和性價比較高,在Gartner 2018 BI與數(shù)據(jù)分析魔力象限中可以看出Power BI已經(jīng)處于行業(yè)的領(lǐng)先地位。[5]未來會有越來越多的高校和企業(yè)開始使用Power BI。希望本文中的內(nèi)容,可以給這些高校和企業(yè)帶來一定的幫助,讓他們在和統(tǒng)一身份認(rèn)證和授權(quán)系統(tǒng)對接的時候少走一些彎路。

        參考文獻(xiàn):

        [1]什么是Power BI?[DB/OL].https://docs.microsoft.com/zh-cn/power-bi/power-bi-overview.

        [2]白雪松,茅維華.身份與權(quán)限體系關(guān)鍵技術(shù)的總體設(shè)計與實踐[J].中山大學(xué)學(xué)報(自然科學(xué)版),2009(s1):260-263.

        [3]白雪松,蔣磊宏,茅維華.全局角色在統(tǒng)一授權(quán)體系中的應(yīng)用[C].中國高等教育學(xué)會教育信息化分會第十次學(xué)術(shù)年會論文集,2010:116-118.

        [4]CustomSecuritySample[DB/OL].https://github.com/Microsoft/Reporting-Services/tree/master/CustomSecuritySample.

        [5]Discover best-in-class products for BI and analytics[DB/OL].https://info.microsoft.com/ww-landing-gartner-bi-analytics-mq-2018-partner-consent-test.html.

        (編輯:王天鵬)

        猜你喜歡
        高校信息化數(shù)據(jù)可視化
        可視化:新媒體語境下的數(shù)據(jù)、敘事與設(shè)計研究
        我國數(shù)據(jù)新聞的發(fā)展困境與策略研究
        移動技術(shù)在高校信息化建設(shè)中應(yīng)用現(xiàn)狀分析
        亚洲av日韩av天堂久久| 美女黄网站永久免费观看网站| 亚洲av中文字字幕乱码软件| 美腿丝袜诱惑一区二区| 免费无码a片一区二三区| 亚洲av鲁丝一区二区三区| 亚洲成A人A∨久在线观看| 日本精品一区二区三区试看 | 女女同恋一区二区在线观看| 中文字幕日韩一区二区不卡| 亚洲无码精品免费片| 国产一区二区在线观看我不卡 | 伊伊人成亚洲综合人网香| 成年女人A级毛片免| 国产精品高清一区二区三区人妖| 国产白浆一区二区三区性色| 永久免费av无码入口国语片| 人妻AV无码一区二区三区奥田咲 | 蜜桃一区二区三区| 国产极品美女高潮无套在线观看| 国产美女黄性色av网站| 女同性恋一区二区三区av| 国产男女免费完整视频| 欧美在线不卡视频| 国内偷拍视频一区二区| 无码人妻久久久一区二区三区| 无码av免费一区二区三区试看| 精品18在线观看免费视频| 91国内偷拍精品对白| 精品无人码麻豆乱码1区2区| 精品无码国产污污污免费网站| 一区二区三区蜜桃在线视频| 亚洲国产成人久久精品不卡| 人妻无码一区二区视频| 国产va免费精品高清在线观看| 国产精品女丝袜白丝袜美腿| 无套中出丰满人妻无码| 在线看亚洲十八禁网站| 91大神蜜桃视频在线观看| 少妇性俱乐部纵欲狂欢少妇| 中文字幕一区二区人妻|