天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當(dāng)前位置:主頁(yè) > 論文百科 > 文藝期刊 >

Web開發(fā)框架之權(quán)限管理系統(tǒng)

發(fā)布時(shí)間:2016-05-14 08:05

  本文關(guān)鍵詞:權(quán)限管理,由筆耕文化傳播整理發(fā)布。


記得我在很早之前,開始介紹我的Winform開發(fā)框架和我的WCF開發(fā)框架之初,我曾經(jīng)給出下面的視圖,介紹我整理的一個(gè)框架體系,其中包含有WInform開發(fā)框架以及我的Web開發(fā)框架,由于前段時(shí)間一直忙于Winform開發(fā)框架的提煉以及優(yōu)化,并統(tǒng)一整理了很多Winform開發(fā)框架以及WCF開發(fā)框架的隨筆文章。隨著我的Winform逐步完善,終于有時(shí)間來(lái)整理介紹我的Web開發(fā)框架的事宜了,下面先介紹一下我最新優(yōu)化整理的Web開發(fā)框架之權(quán)限管理系統(tǒng),其中這個(gè)權(quán)限管理系統(tǒng)可以說(shuō)是集眾多寵愛于一身了,除了一貫的和代碼生成工具集成,可生成基礎(chǔ)性的框架代碼外,還整合Winform開發(fā)框架繼承而來(lái)的多數(shù)據(jù)庫(kù)支持,在界面層,也就是Web權(quán)限管理系統(tǒng),整合了JQuery的Easy-UI界面組件,功能強(qiáng)大的zTree控件、KindEditor在線編輯控件、界面層獲取數(shù)據(jù)及保存使用基于JQuery的json數(shù)據(jù)操作,實(shí)現(xiàn)數(shù)據(jù)局部刷新等等操作,其中提供兩種不同的菜單布局操作,非常方便應(yīng)用于其他業(yè)務(wù)系統(tǒng)的界面。

Web開發(fā)框架之權(quán)限管理系統(tǒng)

首先在介紹之前,我們來(lái)貼幾個(gè)Web權(quán)限系統(tǒng)的圖片進(jìn)行感性的了解先。

1)簡(jiǎn)潔的界面布局效果。這種效果頂部橫幅比較緊湊,左邊有一些常用的按鈕操作,適合于菜單功能不太多的小業(yè)務(wù)系統(tǒng),如我的Web權(quán)限系統(tǒng)。

Web開發(fā)框架之權(quán)限管理系統(tǒng)

2)功能強(qiáng)大的界面企業(yè)業(yè)務(wù)系統(tǒng)布局。這種界面效果適合于功能比較眾多,菜單展示進(jìn)行分類管理等業(yè)務(wù)系統(tǒng)。這種框架頂部的菜單為一級(jí)菜單,單擊一級(jí)菜單可以在左邊展示二級(jí)菜單,這種效果可以不用一次性列出所有系統(tǒng)的功能,而是分層次進(jìn)行功能展示。

Web開發(fā)框架之權(quán)限管理系統(tǒng)

頂部的Tab選項(xiàng)卡每次打開頁(yè)面的時(shí)候,增加一個(gè)Tab頁(yè),頁(yè)面可以雙擊進(jìn)行關(guān)閉,也可以右鍵彈出菜單進(jìn)行更多操作,如下圖所示。

Web開發(fā)框架之權(quán)限管理系統(tǒng)

如果需要了解整個(gè)系統(tǒng)的效果,也可以下載《Web權(quán)限系統(tǒng)操作視屏》進(jìn)行全面的了解。

在提煉優(yōu)化這個(gè)Web權(quán)限框架的過(guò)程中,,碰到了不少的問(wèn)題,一一進(jìn)行解決,現(xiàn)總結(jié)一部分進(jìn)行進(jìn)行介紹。

1)使用JSON數(shù)據(jù)構(gòu)造zTree

使用zTree確實(shí)比easy-ui自帶的Tree好很多,功能也強(qiáng)大很多,由于我的Web權(quán)限中,各個(gè)模塊幾乎都需要樹控件來(lái)展示相關(guān)的數(shù)據(jù),如功能、組織機(jī)構(gòu)等等。在對(duì)比了我自己的傳統(tǒng)Tree、Easy-UI的Tree控件以及zTree后,發(fā)現(xiàn)使用zTree還是可以提高不少的界面分?jǐn)?shù)的。但是其自帶的例子,以及網(wǎng)上的例子,多數(shù)是使用預(yù)先弄好的樹形數(shù)據(jù),而我需要?jiǎng)討B(tài)使用ashx進(jìn)行樹形數(shù)據(jù)的獲取及生成,這確實(shí)費(fèi)了一些周折來(lái)進(jìn)行調(diào)試。

首先要準(zhǔn)備基于ashx處理程序生成的Tree數(shù)據(jù),樹的數(shù)據(jù)使用JSON格式。如功能定義的樹形數(shù)據(jù)如下所示。

遞歸獲取樹形信息 GetTreeJson(int PID, string folderIcon, string leafIcon) { , PID); List<FunctionInfo> nodeList = BLLFactory<Function>.Instance.Find(condition); StringBuilder content = new StringBuilder(); foreach (FunctionInfo model in nodeList) { int ParentID = (model.PID == -1 ? 0 : model.PID); subMenu = this.GetTreeJson(model.ID, folderIcon, leafIcon); , model.ID, ParentID, model.Name); if (string.IsNullOrEmpty(subMenu)) { if (!string.IsNullOrEmpty(leafIcon)) { parentMenu += , leafIcon); } else { parentMenu += ; } } else { if (!string.IsNullOrEmpty(folderIcon)) { parentMenu += , folderIcon); } else { parentMenu += ; } } content.AppendLine(parentMenu.Trim()); content.AppendLine(subMenu.Trim()); } return content.ToString().Trim(); }

然后就是頁(yè)面的調(diào)用了,這里為了增強(qiáng)體驗(yàn)效果,使用了基于javascript的JQuery的異步操作進(jìn)行數(shù)據(jù)處理,而不是基于aspx后臺(tái)頁(yè)面的處理,如下所示。

//重新加載樹形結(jié)構(gòu)(異步) function reloadTree() { $().show(); $.getJSON(+ Math.random() + , function (json) { $.fn.zTree.init($(), setting, json); $.fn.zTree.getZTreeObj().expandAll(true); ); var treeNodes = treeObj.getNodes(); if (treeNodes != null) { loadData(treeNodes[0].id); } }); $().fadeOut(500); }

這樣處理的效果是頁(yè)面只是局部刷新,體驗(yàn)很好。

2)基于JQuery的數(shù)據(jù)加載及保存操作

由于JQuery的方便性及良好體驗(yàn)性,我統(tǒng)一了數(shù)據(jù)的獲取及保存操作。下面給出相關(guān)的處理代碼供參考。

//加載制定的對(duì)象數(shù)據(jù) function loadData(id) { $().show(); $.getJSON(+ Math.random() + + id, function (json) { $().val(json.ID); $().val(json.Name); $().val(json.ControlID); $().val(json.PID); }); $().empty(); $.getJSON(+ Math.random() + + id, function (json) { $.each(json, function (i, item) { $().append(+ item.ID + + item.Name + ); }); }); $().fadeOut(500); } //保存對(duì)象數(shù)據(jù) function saveData() { $.ajax({ type: , url: + Math.random() + , async: false, data: { ID: $().val(), Name: $().val(), ControlID: $().val(), PID: $().val() }, success: function (id) { alert(); reloadTree(); if (id != "") loadData(id); }, error: function (xhr, status, error) { alert(); //xhr.responseText } }); }

3)在數(shù)據(jù)操作等待的時(shí)候,頁(yè)面中間顯示Loading效果。

整個(gè)系統(tǒng),在各種請(qǐng)求操作,我都統(tǒng)一了作法,在界面顯示Loading的等待效果,任務(wù)結(jié)束后關(guān)閉,這種效果在費(fèi)事的操作,用戶體檢會(huì)好一些,下面看看其效果以及實(shí)現(xiàn)代碼。

增加下面javascript腳本

//對(duì)象居中的函數(shù),調(diào)用例子:$("#loading").center(); jQuery.fn.center = function () { this.css("position", "absolute"); this.css("top", Math.max(0, (($(window).height() - this.outerHeight()) / 2) + $(window).scrollTop()) + "px"); this.css("left", Math.max(0, (($(window).width() - this.outerWidth()) / 2) + $(window).scrollLeft()) + "px"); return this; } //初始化對(duì)象 $(document).ready(function () { $("#loading").center();//loading的圖片顯示居中 });

然后再頁(yè)面Body后面增加一行代碼即可(默認(rèn)loading圖片不顯示的哦)。

4)控件數(shù)據(jù)清空操作

由于添加和編輯公用界面控件元素,因此我們?cè)谝砑訑?shù)據(jù)的時(shí)候,需要清空或者設(shè)置某些控件的值,但我們的控件可能比較多,一種好的方法是利用JQuery的選擇器功能來(lái)進(jìn)行有目的的控件清空操作。

如下面的例子所示。

addData() { $("#txtPID").val($("#txtID").val()); $("input[type=text][id*='txt']").val(""); $("textarea[id*='txt']").empty(); $("select[id*='lbx']").empty(); }

其中$("#txtPID").val($("#txtID").val());是把當(dāng)前的用戶作為添加數(shù)據(jù)的上級(jí),其他的就是清空控件的數(shù)據(jù)了,不同的類型控件清空的步驟有些不同。

5)Ashx處理程序的安全性考慮

我們?cè)谙到y(tǒng)中,多數(shù)都是調(diào)用ashx進(jìn)行數(shù)據(jù)處理,雖然一般業(yè)務(wù)系統(tǒng)在VPN或者內(nèi)網(wǎng)中運(yùn)行,但是也要考慮用戶沒(méi)登陸的時(shí)候,不運(yùn)行調(diào)用ashx程序,這樣可以提高數(shù)據(jù)的安全性。

默認(rèn)的ashx處理程序是沒(méi)有Session的操作的,所以我們需要修改其繼承接口(多增加IReadOnlySessionState 的繼承)

,然后才能調(diào)用Session來(lái)進(jìn)行判斷。

權(quán)限功能操作類 ///

  本文關(guān)鍵詞:權(quán)限管理,由筆耕文化傳播整理發(fā)布。



本文編號(hào):45005

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/wenshubaike/jjyglkx/45005.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶baf2d***提供,本站僅收錄摘要或目錄,作者需要?jiǎng)h除請(qǐng)E-mail郵箱bigeng88@qq.com
欧美有码黄片免费在线视频| 成人精品一区二区三区综合| 91亚洲精品综合久久| 人妻少妇av中文字幕乱码高清| 视频一区二区三区自拍偷| 国产一区二区三区丝袜不卡| 日本人妻的诱惑在线观看| 成人精品一级特黄大片| 国产av天堂一区二区三区粉嫩| 麻豆蜜桃星空传媒在线观看| 五月婷婷综合激情啪啪| 国产又猛又黄又粗又爽无遮挡| 国产三级黄片在线免费看| 国产欧美日产中文一区| 亚洲精品偷拍一区二区三区| 女同伦理国产精品久久久| 麻豆91成人国产在线观看| 国产午夜精品福利免费不| 小黄片大全欧美一区二区| 国产亚洲精品俞拍视频福利区| 中文字幕久久精品亚洲乱码| 亚洲精品国产福利在线| 国产亚洲欧美日韩国亚语| 老司机精品视频在线免费| 中文文精品字幕一区二区| 五月天丁香婷婷狠狠爱| 激情五月激情婷婷丁香| 91在线播放在线播放观看| 99久久无色码中文字幕免费| 国产欧美亚洲精品自拍| 两性色午夜天堂免费视频| 欧美日韩精品久久第一页| 精品人妻一区二区三区四区久久| 日本黄色美女日本黄色| 好吊日视频这里都是精品| 亚洲一区二区三区在线中文字幕| 国产精品午夜福利在线观看| 欧美中文字幕日韩精品| 精品日韩视频在线观看| 小草少妇视频免费看视频| 欧美不卡一区二区在线视频|