簡體   English   中英

基於用戶登錄,需要更改pentaho CDE儀表板中的數據源連接

[英]Based on User login, Need to Change data source connection in pentaho CDE dashboard

我們已經准備好了一組儀表板。 到目前為止,該儀表板僅指向一個數據源。 但是我們有一些要求,例如基於pentaho中的User登錄,我們需要檢查此登錄用戶指向哪個數據庫,並基於此我們需要動態更改儀表板連接並從該特定數據庫獲取pentaho儀表板上的結果。

為此,我們有一個主數據庫。 在此數據庫中,我們有一個表,以及以下幾列:用戶名,服務器名和數據庫名。

現在,我們面臨這樣的問題,例如如何基於pentaho BI服務器中的用戶登錄使用該主表進行動態連接?

到目前為止,我已經檢查了該URL https://forums.pentaho.com/threads/136669-Dynamic-Datasource/ 但是我不喜歡如何基於用戶登錄設置此“ SelectedDatabase”參數? 誰能幫助解決這個問題?

在CDA連接內部,已登錄的用戶可以$ {[security:principalName]}的身份獲得。 下面是一個示例CDA定義,應檢索所需的ServerName和DatabaseName。

<DataAccess access="public" connection="datamart" id="master_table" type="sql">
        <Name>master_table</Name>
        <Cache duration="3600" enabled="true"/>
        <Columns/>
        <Parameters>
          <Parameter access="private" default="${[security:principalName]}" name="PRM_USER" type="String"/>
        </Parameters>
        <Query>
          select ServerName, DatabaseName 
          from MasterTable
          where UserName = ${PRM_USER};
        </Query>
</DataAccess>

您需要先調用此名稱(更改優先級),然后使用結果集為儀表板配置數據源。

這是用於多租戶的Pentaho文檔,您需要分片類型。 看起來需要一些代碼才能使其以安全的方式工作。

https://help.pentaho.com/Documentation/7.1/0R0/070/Multi-Tenancy

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM