如何通過使用者上下文資訊控制報表元素的可見性

2022-01-12 18:12:55 字數 1174 閱讀 1412

在檢視報表時,經常同一張報表,需要根據檢視者的省份,對需要顯示的元素進行控制,以保證資料的許可權控制和安全管理。

在wyn enterprise報表軟體當中,每個視覺化元素都有豐富的配置屬性。其中,隱藏屬性可以用來控制報表元素的可見性。

其屬性值可以通過表示式來進行控制。

實現基於使用者上下文資訊的報表元素可見性控制,核心步驟如下:

1.通過表示式獲取當前使用者上下文資訊;

使用usercontext.getvalue函式來獲取當前登入使用者的上下文資訊。具體使用方法參考:

2.將元素的隱藏屬性設定為對應的表示式。

本文以控制圖表的可見性和**列的可見性為例進行講解。

根據使用者角色控制可見性,如果是銷售總監則可以檢視到類別利潤佔比餅圖和**中的利潤列,如果不是,則看不見。

1.控制圖表的可見性

1.1設計報表的核心元素

1.2 設定圓環圖的隱藏屬性

選中圓環圖,在顯示選項中設定【隱藏屬性】表示式:

=iif(instr(join(usercontext.getvalues("role"),","),"銷售總監")>0,false,true)

表示式釋義:如果當前使用者的角色中有「銷售總監」這個角色,則返回假,即不隱藏;否則為真,即隱藏。

2.通過表示式中表中的中列可見性

2.1 在**中選中需要隱藏的列頭,並設定其【隱藏】屬性。

2.2 設定隱藏表示式,1.2中的步驟

示例效果:

銷售總監報表:可以看到類別的利潤佔比圓環圖和**中的利潤列。

銷售經理:只能看到自己所負責地區的省份資料,看不到其他不屬於他許可權內可見的元素。 

dubbo上下文資訊

注意 rpccontext是乙個threadlocal的臨時狀態記錄器,當接收到rpc請求或發起rpc請求時,rpccontext的狀態都會變化。比如 a呼叫b,b再呼叫c。在b呼叫c之前,a呼叫了b,那麼rpccontext中記錄的是a呼叫b的資訊 在b呼叫c之後,rpccontext記錄的是b呼...

利用上下文資訊推薦

上下文包括使用者訪問推薦系統的時間 地點 心情等。一 時間上下文資訊 1.時間效應簡介 使用者興趣是變化的。因為使用者自身原因發生的變化。如小時候 長大了 工作時間增加等。若要準確使用者現在的興趣,應更關注使用者最近的行為。這樣只針對漸變的使用者興趣,對突變的使用者興趣很難起作用 物品有生命週期。如...

使用者空間和核心空間 程序上下文與中斷上下文

最近在學習linux核心,對於使用者空間和核心空間 程序上下文與中斷上下文有點混淆,在此好好整理一番。一 cpu特權級別 cpu的所有指令中,有些指令是非常危險的,如果錯用就會導致系統崩潰。所以,cpu將指令分為特權指令和非特權指令,不同的指令有不同的操作許可權。於是便有了cpu的4個特權級別,ri...