控制報表數(shù)據(jù)訪問權(quán)限让禀,是讓不同的人訪問同一張報表的時候所看到的數(shù)據(jù)是不同的或者說只能看到權(quán)限范圍內(nèi)的數(shù)據(jù)栓拜。
報表工具通用的做法是控制數(shù)據(jù)集(報表所呈現(xiàn)的數(shù)據(jù)基本都是來自數(shù)據(jù)集)见擦。以 sql 數(shù)據(jù)集為例贼邓,只要 sql 的條件不一樣铅碍,返回的數(shù)據(jù)也就不同了。比如 sql 寫成:
Select … from T where ${w}
當(dāng) w 定義為 if(role==’admin’,”1=1”,” status=1”) 時捌治,角色為“管理員”可以看所有數(shù)據(jù)岗钩,否則只能看到 status 字段值為 1 的。
這種做法是報表工具動態(tài)宏的功能肖油,可能讓 sql 動態(tài)拼接兼吓。具體例子參考:潤乾報表權(quán)限管理機(jī)制
同理,如果是其他數(shù)據(jù)集類型森枪,按照相應(yīng)方法视搏,根據(jù)不同人控制到僅返回權(quán)限內(nèi)數(shù)據(jù)即可實現(xiàn)。