大數(shù)據(jù)報(bào)表怎樣通過(guò)參數(shù)控制數(shù)據(jù)權(quán)限,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)公司是專(zhuān)業(yè)的安順網(wǎng)站建設(shè)公司,安順接單;提供網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行安順網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
報(bào)表開(kāi)發(fā)過(guò)程中,常常會(huì)遇到需要對(duì)報(bào)表進(jìn)行數(shù)據(jù)權(quán)限控制的情況。
不同的機(jī)構(gòu)、角色或具體到人,訪問(wèn)同一張報(bào)表時(shí)所看到的數(shù)據(jù)是不同的。比如,工資條(也是一張簡(jiǎn)單的報(bào)表),因?yàn)榻^大多數(shù)公司薪資都是保密的,所以很顯然,系統(tǒng)內(nèi)不同人看到的結(jié)果是不能相同的。 再比如,區(qū)域銷(xiāo)售情況統(tǒng)計(jì),各區(qū)域銷(xiāo)售經(jīng)理也只能看到所在區(qū)域的數(shù)據(jù)等等。
實(shí)際應(yīng)用環(huán)境中,解決此類(lèi)問(wèn)題一般是通過(guò)直接在 SQL 中篩選出數(shù)據(jù)繪制報(bào)表模板,然后按照登錄對(duì)象訪問(wèn)指定的模板就可以了。但是,如果使用用戶(hù)的人員眾多,就需要制作 N 多張樣式相同只是 SQL(報(bào)表數(shù)據(jù)集)略有不同的報(bào)表,工作量大且不利于后期維護(hù)。
此時(shí),我們就可以通過(guò)報(bào)表工具的參數(shù)動(dòng)態(tài)接收系統(tǒng)傳來(lái)的人員賬號(hào)等信息參數(shù),進(jìn)而動(dòng)態(tài)顯示報(bào)表中的數(shù)據(jù),以達(dá)到數(shù)據(jù)權(quán)限控制的目的。
下面舉例看一下報(bào)表通過(guò)參數(shù)如何實(shí)現(xiàn)數(shù)據(jù)權(quán)限控制。
例 1.人事管理系統(tǒng)之工資條類(lèi)報(bào)表數(shù)據(jù)權(quán)限控制
特點(diǎn):每個(gè)人或者用戶(hù)登錄后,僅可以查看本人的數(shù)據(jù)信息,此類(lèi)數(shù)據(jù)表一般都與數(shù)據(jù)庫(kù)用戶(hù)表直接或間接關(guān)聯(lián),顧 SQL 可直接使用用戶(hù)編號(hào)對(duì)數(shù)據(jù)做精準(zhǔn)獲取。
前提:
報(bào)表數(shù)據(jù)來(lái)自數(shù)據(jù)表 payroll 中;
用戶(hù) ID(uID)已從系統(tǒng) session 中獲取,存儲(chǔ)在變量 userID 中(獲取具體設(shè)置可參考 外部參數(shù)(如 Url 中)如何傳給潤(rùn)乾報(bào)表使用)
報(bào)表重點(diǎn)設(shè)置:
a. 數(shù)據(jù)集語(yǔ)句設(shè)置
b. 報(bào)表參數(shù)設(shè)置
總結(jié):
這類(lèi)數(shù)據(jù)權(quán)限控制基本是針對(duì)單條記錄操作的,顧 SQL 語(yǔ)句部分 不需要做太多其它設(shè)置,如有其它過(guò)濾條件按照正常參數(shù)設(shè)置添加即可。
例 2.人員等級(jí)類(lèi)數(shù)據(jù)權(quán)限控制
特點(diǎn):人員等級(jí)越高看到的數(shù)據(jù)越多。
前提:
1.報(bào)表呈現(xiàn)所需數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)表 m_datas 中;
2.角色編號(hào)(role)已從系統(tǒng) session 中獲取,存儲(chǔ)在變量 role 中(獲取具體設(shè)置可參考 外部參數(shù)(如 Url 中)如何傳給潤(rùn)乾報(bào)表使用)
報(bào)表重點(diǎn)設(shè)置:
a. 數(shù)據(jù)集語(yǔ)句設(shè)置
注:${pri} 是動(dòng)態(tài)參數(shù) ${參數(shù)名} 的用法,可以看做一個(gè)占位符,運(yùn)算時(shí)會(huì)用其計(jì)算結(jié)果替換
b. 參數(shù)設(shè)置
其中:
role 為普通參數(shù) 用于接收系統(tǒng)當(dāng)前登錄用戶(hù)角色
pri 為動(dòng)態(tài)參數(shù) 根據(jù) role 動(dòng)態(tài)生成 sql 過(guò)濾條件
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。