報表如何透過引數控制資料許可權
報表開發過程中,常常會遇到需要對報表進行資料許可權控制的情況。
不同的機構、角色或具體到人,訪問同一張報表時所看到的資料是不同的。比如,工資條(也是一張簡單的報表),因為絕大多數公司薪資都是保密的,所以很顯然,系統內不同人看到的結果是不能相同的。 再比如,區域銷售情況統計,各區域銷售經理也只能看到所在區域的資料等等。
實際應用環境中,解決此類問題一般是透過直接在 SQL 中篩選出資料繪製報表模板,然後按照登入物件訪問指定的模板就可以了。但是,如果使用使用者的人員眾多,就需要製作 N 多張樣式相同只是 SQL(報表資料集)略有不同的報表,工作量大且不利於後期維護。
此時,我們就可以透過報表工具的引數動態接收系統傳來的人員賬號等資訊引數,進而動態顯示報表中的資料,以達到資料許可權控制的目的。
下面舉例看一下報表透過引數如何實現資料許可權控制。
例 1. 人事管理系統之工資條類報表資料許可權控制
特點:每個人或者使用者登入後,僅可以檢視本人的資料資訊,此類資料表一般都與資料庫使用者表直接或間接關聯,顧 SQL 可直接使用使用者編號對資料做精準獲取。
前提:
-
報表資料來自資料表 payroll 中;
-
使用者 ID(uID)已從系統 session 中獲取,儲存在變數 userID 中(獲取具體設定可參考 )
報表重點設定:
a. 資料集語句設定
b. 報表引數設定
總結:
這類資料許可權控制基本是針對單條記錄操作的,顧 SQL 語句部分 不需要做太多其它設定,如有其它過濾條件按照正常引數設定新增即可。
例 2. 人員等級類資料許可權控制
特點:人員等級越高看到的資料越多。
前提:
1. 報表呈現所需資料儲存在資料表 m_datas 中;
2. 角色編號(role)已從系統 session 中獲取,儲存在變數 role 中(獲取具體設定可參考 )
報表重點設定:
a. 資料集語句設定
注:${pri} 是動態引數 ${引數名} 的用法,可以看做一個佔位符,運算時會用其計算結果替換
b. 引數設定
其中:
role 為普通引數 用於接收系統當前登入使用者角色
pri 為動態引數 根據 role 動態生成 sql 過濾條件
更多詳細設定可以參考
動態引數更多相關應用可參考
對進一步報表和 BI 技術感興趣的同學還可以搜尋“乾學院”,上面有整套的免費“商業智慧”技術課程,. 或者直接點下面的連結也可以 :
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957599/viewspace-2708106/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 怎麼控制報表的資料許可權
- 資料分析的許可權控制
- 資料安全之許可權控制
- 填報表上下載檔案控制元件可寫許可權控制控制元件
- 透過shell得到資料庫中許可權的指令碼資料庫指令碼
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- [WCF許可權控制]透過擴充套件自行實現服務授權套件
- 透過STS來對AWS資源進行更靈活的許可權控制
- 7.4 透過API列舉程式許可權API
- 資料許可權
- Elasticsearch 許可權控制Elasticsearch
- 資料庫許可權-儲存過程資料庫儲存過程
- 舉例如何控制查詢許可權
- SQLServer控制使用者訪問許可權表SQLServer訪問許可權
- Linux許可權控制Linux
- Appfuse:許可權控制APP
- Oracle資料庫使用者許可權控制 - Role - SynonymOracle資料庫
- MySQL資料庫許可權體系入門(5)---管理資料庫許可權MySql資料庫
- 如何透過動態引數實現週報製作
- MySQL資料庫許可權體系入門(6)---管理表、列及程式相關許可權MySql資料庫
- PostgreSQL_通過schema控制使用者許可權SQL
- Laravel實現許可權控制Laravel
- mysql 許可權控制筆記MySql筆記
- oracle列級許可權控制Oracle
- 前端如何配合後端完成RBAC許可權控制前端後端
- .NET 程式許可權控制、獲得管理員許可權程式碼
- 通過資料庫鏈執行DML所需許可權資料庫
- 資料庫的許可權管理資料庫
- 許可權+訂單資料模型模型
- 【許可權】儲存過程執行時,報ORA-01031許可權不足儲存過程
- win10 建資料夾許可權方法 如何設定windows10檔案許可權Win10Windows
- 檢視、儲存過程以及許可權控制練習儲存過程
- Oracle 使用者許可權管理與常用許可權資料字典列表Oracle
- 如何優雅的在 vue 中新增許可權控制Vue
- flask restful 風格 API,如何完成 RBAC 許可權控制?FlaskRESTAPI
- 許可權控制及AOP日誌
- Java 訪問許可權控制(6)Java訪問許可權
- vue-router控制路由許可權Vue路由