RDIFramework.NET開發(fā)實(shí)例━表約束條件權(quán)限的使用-Web-創(chuàng)新互聯(lián)

RDIFramework.NET開發(fā)實(shí)例━表約束條件權(quán)限的使用-Web

創(chuàng)新互聯(lián)公司是專業(yè)的青龍網(wǎng)站建設(shè)公司,青龍接單;提供網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行青龍網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

         在上一篇文章“RDIFramework.NET開發(fā)實(shí)例━表約束條件權(quán)限的使用-WinForm”我們講解了在WinForm下表約束條件權(quán)限的使用,下面我們來看看在Web下的使用。

      在實(shí)際的應(yīng)用中,客戶常有這樣的需求,指定用戶或角色可以看指定條件下的數(shù)據(jù),這里的“指定條件”在RDIFramework.NET框架中,我們稱作為“用戶或角色的約束條件表達(dá)式”。要完成這樣的功能,可以通過RDIFramework.NET框架中的用戶或角色的“約束條件權(quán)限設(shè)置”功能即可完成,再在你的業(yè)務(wù)表單中調(diào)用我們的得到用戶或角色的約束條件表達(dá)式接口即可完成。

       可以調(diào)用框架提供的下面幾個(gè)接口即可完成對用戶或角色約束條件的得到。

1、RDIFrameworkService.Instance.TableColumnsService.GetConstraint
2、RDIFrameworkService.Instance.TableColumnsService.GetUserConstraint

    下面我們以實(shí)例進(jìn)行展示約束條件權(quán)限的設(shè)置,可供用戶參考。

        要使用“約束條件權(quán)限”首先需要在用戶權(quán)限或角色權(quán)限中設(shè)置用戶或角色的“約束條件”表達(dá)式。用戶的“約束條件權(quán)限設(shè)置”如下圖所示:

RDIFramework.NET開發(fā)實(shí)例━表約束條件權(quán)限的使用-Web

在“系統(tǒng)管理”→“用戶權(quán)限管理”→“權(quán)限設(shè)置”→“約束條件權(quán)限設(shè)置”,即可打開上面的窗口。在“表約束條件”設(shè)置窗口,可以選擇我們需要設(shè)置表的約束條件,點(diǎn)擊“設(shè)置條件表達(dá)式”即可設(shè)置。如下圖所示:  

RDIFramework.NET開發(fā)實(shí)例━表約束條件權(quán)限的使用-Web

“角色約束條件的設(shè)置”與“用戶約束條件設(shè)置”類似,可參考上面的“用戶約束條件設(shè)置”,角色約束條件設(shè)置窗口如下:

RDIFramework.NET開發(fā)實(shí)例━表約束條件權(quán)限的使用-Web

       經(jīng)過上面的設(shè)置,現(xiàn)在我們就可以使用“約束條件”了,使用很簡單,只需在需要展示數(shù)據(jù)的地方通過框架提供的服務(wù)接口即可。下面我們以“產(chǎn)品管理”來演示約束條件權(quán)限。

        在“產(chǎn)品管理”主界面的得到分頁數(shù)據(jù)的代碼中調(diào)用以下接口即可得到用戶的約束條件

1、RDIFrameworkService.Instance.TableColumnsService.GetConstraint(this.UserInfo, PiUserTable.TableName, this.UserInfo.Id, ProductInfoTable.TableName); //按表約束條件獲得數(shù)據(jù)(按當(dāng)前用戶)。
2、RDIFrameworkService.Instance.TableColumnsService.GetUserConstraint(this.UserInfo, ProductInfoTable.TableName); //按表約束條件獲得數(shù)據(jù)(得到用戶與角色的約束條件)。

完整代碼如下:

private void GetPageData(RequestParamModel<CASE_PRODUCTINFOEntity> rpm, HttpContext ctx)
{
    var manager = new CASE_PRODUCTINFOManager(this.dbHelper);
    int recordCount = 0;
    string sort = rpm.Sort;
    string order = rpm.Order;
    if (string.IsNullOrEmpty(sort))
    {
        sort = CASE_PRODUCTINFOTable.FieldCREATEON;
    }
    if (string.IsNullOrEmpty(order))
    {
        order = "DESC";
    }
 
    string filter = rpm.Filter;
    if (string.IsNullOrEmpty(filter))
    {
        filter = CASE_PRODUCTINFOTable.FieldDELETEMARK + " = 0 ";
    }
    UserInfo cUser = Utils.UserInfo;
    //string userConstraintExpress = RDIFrameworkService.Instance.TableColumnsService.GetConstraint(cUser, PiUserTable.TableName, cUser.Id, CASE_PRODUCTINFOTable.TableName); //按表約束條件獲得數(shù)據(jù)(按當(dāng)前用戶)。
    string userConstraintExpress = RDIFrameworkService.Instance.TableColumnsService.GetUserConstraint(cUser, CASE_PRODUCTINFOTable.TableName); //按表約束條件獲得數(shù)據(jù)(得到用戶與角色的約束條件)。
 
    if (!string.IsNullOrEmpty(userConstraintExpress))
    {
        filter += " AND " + userConstraintExpress;
    }
     
    var dtTemp = manager.GetDTByPage(out recordCount, rpm.Pageindex, rpm.Pagesize, filter, (sort + " " + order));
    ctx.Response.Write(JSONhelper.FormatJSONForEasyuiDataGrid(recordCount, dtTemp));
}

     在上圖中我們對用戶”yonghu”設(shè)置了約束條件,現(xiàn)在我們以“yonghu”登錄系統(tǒng)看下他能看到的數(shù)據(jù):

RDIFramework.NET開發(fā)實(shí)例━表約束條件權(quán)限的使用-Web

     我們對用戶“yonghu”設(shè)置的約束條件是單價(jià)大于10000,在上圖中,可以看到系統(tǒng)已經(jīng)自動(dòng)過濾了數(shù)據(jù)共143條數(shù)據(jù)。我們再以超級(jí)管理員用戶登錄進(jìn)來看下,如下圖所示:

RDIFramework.NET開發(fā)實(shí)例━表約束條件權(quán)限的使用-Web        以超級(jí)管理員登錄的數(shù)據(jù)是8971條。

      以上只是一個(gè)簡單的實(shí)例展示,還可以更加靈活的應(yīng)用到其他各個(gè)實(shí)用的場合。

作者: EricHu
出處: http://www.cnblogs.com/huyong
Email: 406590790@qq.com
QQ 交流:406590790
QQ群:237326100
平臺(tái)博客: 【CSDN】http://blog.csdn.net/chinahuyong
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;【CNBLOGS】http://www.cnblogs.com/huyong
關(guān)于作者:高級(jí)工程師、信息系統(tǒng)項(xiàng)目管理師、DBA。專注于微軟平臺(tái)項(xiàng)目架構(gòu)、管理和企業(yè)解決方案,多年項(xiàng)目開發(fā)與管理經(jīng)驗(yàn),曾多次組織并開發(fā)多個(gè)大型項(xiàng)目,精通DotNet,DB(SqlServer、Oracle等)技術(shù)。熟悉Java、Delhpi及Linux操作系統(tǒng),有扎實(shí)的網(wǎng)絡(luò)知識(shí)。在面向?qū)ο蟆⒚嫦蚍?wù)以及數(shù)據(jù)庫領(lǐng)域有一定的造詣?,F(xiàn)從事DB管理與開發(fā)、WinForm、WCF、WebService、網(wǎng)頁數(shù)據(jù)抓取以及ASP.NET等項(xiàng)目管理、開發(fā)、架構(gòu)等工作。
如有問題或建議,請多多賜教!
本文版權(quán)歸作者和CNBLOGS博客共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,如有問題,可以通過郵箱或QQ 聯(lián)系我,非常感謝。

RDIFramework.NET開發(fā)實(shí)例━表約束條件權(quán)限的使用-Web

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。

新聞標(biāo)題:RDIFramework.NET開發(fā)實(shí)例━表約束條件權(quán)限的使用-Web-創(chuàng)新互聯(lián)
鏈接分享:http://muchs.cn/article46/dooihg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作Google、網(wǎng)站內(nèi)鏈、App開發(fā)、網(wǎng)站排名定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)