秦皇岛纫惩金融服务有限公司

首頁(yè) > 知識(shí)百科 > 如何實(shí)現(xiàn)報(bào)表集成?(四)——權(quán)限集成

如何實(shí)現(xiàn)報(bào)表集成?(四)——權(quán)限集成

2023-01-18 17:10:53   |  Smartbi知識(shí)百科 3961

    在上一篇,我們介紹了報(bào)表工具的資源集成,基本知道了報(bào)表工具鏈接、模塊、頁(yè)面和移動(dòng)端如何實(shí)現(xiàn)集成。

    這一篇,我們看下如何做權(quán)限集成。


    使用第三方系統(tǒng)的資源權(quán)限驗(yàn)證

    實(shí)際上往往存在多個(gè)系統(tǒng)需要統(tǒng)一權(quán)限認(rèn)證,用戶(hù)要求將某個(gè)系統(tǒng)作為統(tǒng)一認(rèn)證平臺(tái), Smartbi 為了應(yīng)對(duì)這種需求,提供了一個(gè)可以根據(jù)需要擴(kuò)充的權(quán)限驗(yàn)證方式,讓項(xiàng)目能根據(jù)實(shí)際情況開(kāi)發(fā)不同的需求。



    • 實(shí)現(xiàn)步驟

    參考“開(kāi)發(fā)插件包”,開(kāi)發(fā)一個(gè)項(xiàng)目插件包;

    在插件包項(xiàng)目中新建一個(gè)Java類(lèi) com.mycomp.mypackage.ResourcePermissionAuthDemo,并且實(shí)現(xiàn)接口 IResourcePermissionAuthorization


    配置ResourcePermissionAuthDemo,兩種方式如下:


    (1)示例插件包中已配置好,新創(chuàng)建的插件包可在插件包用代碼配置,如:在Module的active方法中使用此代碼catalogTreeModule.getConfig().setResourcePermissionAuthorization("com.mycomp.mypackage.MyResourcePermissionAuth");配置


    (2)編輯 Smartbi 服務(wù)器配置文件smartbi-config.xml,如下圖紅色框所示。增加節(jié)點(diǎn)resource-permission-authorization,其屬性為 ResourcePermissionAuthDemo 類(lèi)的全名 com.mycomp.mypackage.ResourcePermissionAuthDemo;



    參考“插件部署”文檔,部署該項(xiàng)目插件包,插件包示例請(qǐng)參考 使用第三方系統(tǒng)的資源權(quán)限驗(yàn)證.rar

    此后 Smartbi 系統(tǒng)中需要進(jìn)行資源權(quán)限驗(yàn)證的時(shí)候,皆會(huì)跳轉(zhuǎn)到 ResourcePermissionAuthDemo 類(lèi)中由其完成資源權(quán)限驗(yàn)證。



    使用第三方的操作權(quán)限驗(yàn)證

    不使用 Smartbi 系統(tǒng)自身的操作權(quán)限驗(yàn)證邏輯,而是由第三方系統(tǒng)進(jìn)行操作權(quán)限驗(yàn)證,給 Smartbi 返回一個(gè)用戶(hù)能否訪問(wèn)指定操作的狀態(tài)指示。




    • 實(shí)現(xiàn)步驟

    1.在插件包中新建一個(gè)Java類(lèi)com.opauth.takeover.usermanager.FunctionAuthDemo,并且實(shí)現(xiàn)接口 smartbi.usermanager.IFunctionAuth。

    接口定義如下:

    package com.mycomp.usermanager;

      

    public class TestFunctionAuth implements IFunctionAuth {

        private static TestFunctionAuth auth = new TestFunctionAuth();

        public static TestFunctionAuth getInstance() {

            return auth;

        } 

        private TestFunctionAuth() {

            // TestFunctionAuth

        } 

        public boolean isFuncTypeAccessible(String userId, String functionCode) {

            // 在這里實(shí)現(xiàn)用戶(hù)操作權(quán)限判斷的邏輯,返回狀態(tài) true|false 指明用戶(hù)能否訪問(wèn)指定操作

            return true;

        }

    }



    2.修改插件包文件 applicationContext.xml 增加如下內(nèi)容:

    <bean id="usermanager" class="smartbi.usermanager.UserManagerModule" factory-method="getInstance">

          <property name="functionAuth" ref="FunctionAuthDemo"/>

    </bean>

    <bean id="FunctionAuthDemo" class="com.opauth.takeover.usermanager.FunctionAuthDemo" factory-method="getInstance"></bean>



    3.GIF演示示例插件包源碼請(qǐng)參考:操作權(quán)限驗(yàn)證.rar



    權(quán)限集成,已經(jīng)屬于需要開(kāi)發(fā)人員以代碼的方式來(lái)實(shí)現(xiàn)的范疇了,由于權(quán)限集成涉及眾多技術(shù)細(xì)節(jié),受篇幅所限無(wú)法一一詳細(xì)列示,感興趣的小伙伴可以通過(guò)在線 Wiki 了解詳情。


    傳送門(mén):




    關(guān)于 Smartbi 的電子表格軟件,大家可以點(diǎn)擊鏈接http://www.aobey.com.cn/spreadsheet了解更多詳情。


新一代商業(yè)智能BI工具

覆蓋傳統(tǒng)BI、自助BI、現(xiàn)代BI不同發(fā)展階段,滿(mǎn)足企業(yè)數(shù)字化轉(zhuǎn)型的多樣化需求

讓數(shù)據(jù)成為增長(zhǎng)引擎,解鎖行業(yè)領(lǐng)先的智能BI實(shí)踐方案!

前往下載
Copyright? 廣州思邁特軟件有限公司  粵ICP備11104361號(hào) 網(wǎng)站地圖

電話咨詢(xún)

售前咨詢(xún)
400-878-3819 轉(zhuǎn)1

售后咨詢(xún)
400-878-3819 轉(zhuǎn)2
服務(wù)時(shí)間:工作日9:00-18:00

微信咨詢(xún)

添加企業(yè)微信 1V1專(zhuān)屬服務(wù)