• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于電網(wǎng)業(yè)務的WEB端通用授權機制研究與實現(xiàn)

    2020-12-13 01:45:33單婧婧
    電子元器件與信息技術 2020年9期
    關鍵詞:代碼對象界面

    單婧婧

    (東方電子股份有限公司,山東 煙臺 264000)

    0 引言

    隨著電網(wǎng)業(yè)務及信息化的不斷發(fā)展,越來越多的B/S模式系統(tǒng)被開發(fā)并部署于III/IV區(qū),該類系統(tǒng)不需要客戶端安裝任何軟件,通過瀏覽器即可使用系統(tǒng),簡單方便。與此同時,系統(tǒng)對信息安全提出了更高的要求,因此需要一系列安全手段來保證系統(tǒng)信息的機密性、可靠性和完整性[1]。該類系統(tǒng)需求變化頻繁,如果對權限的控制每次都要開發(fā)對應的授權功能,且要改動已有業(yè)務代碼,則費時費力,且會大大降低開發(fā)效率。因此需要研究并開發(fā)一套通用的權限控制機制,當用戶系統(tǒng)權限需求變更后,通過統(tǒng)一權限管理界面配置后,只需修改少量業(yè)務代碼,即可完成用戶的業(yè)務相關權限控制。

    1 權限管理現(xiàn)狀

    目前比較成熟的權限管理系統(tǒng)大都是基于角色的訪問控制,即RBAC(Role-based Access Control)[2-4],該機制主要包含角色、用戶和資源對象三大部分。其中資源對象可理解為需要權限控制的對象,比如系統(tǒng)功能菜單、按鈕等,這類資源的訪問控制與角色關聯(lián),特定角色訪問特定資源,而用戶可以分配角色,從而使用戶具備了訪問對應資源的權限[5]。一個用戶可以擁有多個角色,同樣一個角色可以分配給多個用戶。基于該思想,已經(jīng)開發(fā)實現(xiàn)了基本的權限管理功能,能夠對頁面菜單以及頁面內的按鈕進行控制。

    2 通用業(yè)務授權的分析與設計

    2.1 數(shù)據(jù)庫表設計

    根據(jù)功能需求,設計需要授權的業(yè)務對象類型表、業(yè)務對象數(shù)據(jù)源表、記錄授權結果的業(yè)務對象授權表。①業(yè)務對象類型表。用于記錄要授權的對象類型描述及結構,如子控制區(qū)域、SVG圖形、供電所、變電站、責任區(qū)等。TYPE:業(yè)務對象類型代碼,如2,5,6,7,10。NAME:業(yè)務對象名稱,與代碼對應,如SVG圖、變電站、責任區(qū)、CIM樹等。FLAG:當對象全部未授權時,默認有訪問權限設置1,默認無訪問權限設置為0。ISTREE:是否為樹形結構,1:是,0:否。SELECT_MODE:樹節(jié)點選擇方式,只針對樹形結構起作用。1:子節(jié)點選中時父節(jié)點自動選中;父節(jié)點選中時子節(jié)點不自動選中;2:父節(jié)點選中時子節(jié)點自動全選中,子節(jié)點選中時,父節(jié)點不自動選中;3:父子級聯(lián)選中,父節(jié)點選中自動選中子節(jié)點,子節(jié)點選中也自動選中父節(jié)點;4:多選,父子無關聯(lián);5:單選。REMARK:備注信息。②業(yè)務對象數(shù)據(jù)源表。用于存放需要進行授權的各類型業(yè)務對象數(shù)據(jù)源,如子控制區(qū)域數(shù)據(jù),各類變電站,責任區(qū)等。③業(yè)務對象授權結果表。用于記錄角色與控制對象授權結果。另外,還有系統(tǒng)原有的角色表、用戶表、角色用戶關系表。

    2.2 業(yè)務流程

    要實現(xiàn)對業(yè)務對象的權限控制,需要三個步驟:數(shù)據(jù)準備、界面授權、業(yè)務控制。

    (1)數(shù)據(jù)準備。系統(tǒng)初始化時,根據(jù)實際應用,初始化業(yè)務對象類型表數(shù)據(jù);基于業(yè)務對象類型,將各類型對應的業(yè)務對象數(shù)據(jù)插入到業(yè)務對象數(shù)據(jù)源表中,可手工插入,或者編寫sql(從現(xiàn)有表中抽取數(shù)據(jù))自動執(zhí)行插入,因為涉及到源數(shù)據(jù)更新問題,推薦sql方式插入。

    (2)界面授權。數(shù)據(jù)設置完成后,到界面進行授權。根據(jù)角色,選擇業(yè)務對象類型,自動顯示對應源數(shù)據(jù),根據(jù)業(yè)務需要,從源數(shù)據(jù)中選擇可訪問的內容進行授權。

    (3)業(yè)務應用。各個業(yè)務模塊實現(xiàn)中,對于有權限要求的業(yè)務對象數(shù)據(jù)調用統(tǒng)一權限訪問接口,獲取當前登陸人員對應權限,控制數(shù)據(jù)顯示,如對于子控制區(qū),只顯示用戶可訪問的子控制區(qū)列表,或者判斷是否有權限操作某子控制區(qū)。

    3 系統(tǒng)實現(xiàn)

    3.1 實現(xiàn)技術

    通用業(yè)務授權系統(tǒng)部署在Tomcat服務器,實現(xiàn)使用eclipse開發(fā)工具,基于Spring+iBatis+DWR+Ext整合框架進行開發(fā),數(shù)據(jù)庫采用Oracle。

    Spring是一個廣為流行的開源的Java應用程序開發(fā)框架,是為解決企業(yè)應用程序開發(fā)復雜性而創(chuàng)建的輕量級、一站式解決方案。通過依賴注入模式,將依賴關系從編碼中脫離出來,可以用簡單的組件組裝復雜的應用,同時,大大降低了組件之間的耦合,極大地改善了代碼的可重用性,實現(xiàn)了組件真正意義上的即插即用。

    iBatis是一個O/R Mapping解決方案,實現(xiàn)了POJO(Plain Ordinary Java Objects,即簡單的普通Java對象)與關系庫SQL之間的映射。通過iBatis,可以實現(xiàn)數(shù)據(jù)庫表與代碼之間的松耦合。

    DWR(Direct Web Remoting)是一個WEB遠程調用框架,根據(jù)Java類來動態(tài)生成JavaScrip代碼,利用這個框架,可以在客戶端利用JavaScript直接調用服務端的Java方法并將返回值給前臺JS,就好像直接在客戶端本地調用一樣。

    ExtJS是一個Javascript編寫的用于創(chuàng)建前臺用戶界面的AJAX框架,提供了RIA開發(fā)所需的所有常用界面組件。通過ExtJS,可以快速、輕松地創(chuàng)建豐富多彩的客戶端應用,并大大降低開發(fā)的前臺工作量。

    3.2 授權界面

    進入系統(tǒng)角色管理界面,選擇角色,點擊工具按鈕進入應用授權窗口。在窗口中選擇業(yè)務對象類型,根據(jù)類型表判斷使用列表還是樹形結構顯示源數(shù)據(jù)。根據(jù)業(yè)務需要,選擇對應角色有權限的業(yè)務對象添加到權限列表中,點擊確定完成授權,擁有該角色的用戶登陸系統(tǒng)后即可訪問所授權的業(yè)務對象。

    3.3 對外接口

    系統(tǒng)封裝多個DWR接口,供業(yè)務模塊調用,開發(fā)人員可根據(jù)實際權限需求,調用對應接口獲取權限控制信息,下面列出幾個典型接口描述:

    (1)獲取當前用戶可訪問的應用列表

    輸入:應用類型或應用類型_層級,字符串格式,如5。

    輸出:當前登錄人員可訪問的對象列表,對象數(shù)據(jù)格式。

    (2)獲取某個用戶可訪問的應用列表

    輸入:用戶代碼,字符串格式,應用類型或應用類型_層級,字符串格式。

    輸出:用戶可訪問的對象列表,對象數(shù)據(jù)格式。

    (3)檢查某用戶是否有權限訪問某應用

    輸入:用戶代碼,字符串格式。

    業(yè)務對象類型,字符串格式。

    業(yè)務對象代碼,字符串格式。

    輸出:true/false。

    4 結論

    本文在已有權限系統(tǒng)基礎上,結合業(yè)務實際需求,開發(fā)一套通用的業(yè)務對象授權系統(tǒng),解決現(xiàn)有電網(wǎng)業(yè)務中如子控制區(qū)域、變電站等多種業(yè)務對象權限控制需求。該系統(tǒng)同樣適用于其他WEB權限業(yè)務相關權限管理,具有較高的推廣性。目前業(yè)務對象源數(shù)據(jù)通過人工或sql方式維護,下一步考慮實現(xiàn)源數(shù)據(jù)維護界面,加強其通用性。

    猜你喜歡
    代碼對象界面
    神秘來電
    睿士(2023年2期)2023-03-02 02:01:09
    國企黨委前置研究的“四個界面”
    當代陜西(2020年13期)2020-08-24 08:22:02
    創(chuàng)世代碼
    動漫星空(2018年11期)2018-10-26 02:24:02
    創(chuàng)世代碼
    動漫星空(2018年2期)2018-10-26 02:11:00
    創(chuàng)世代碼
    動漫星空(2018年9期)2018-10-26 01:16:48
    創(chuàng)世代碼
    動漫星空(2018年5期)2018-10-26 01:15:02
    攻略對象的心思好難猜
    意林(2018年3期)2018-03-02 15:17:24
    基于FANUC PICTURE的虛擬軸坐標顯示界面開發(fā)方法研究
    人機交互界面發(fā)展趨勢研究
    基于熵的快速掃描法的FNEA初始對象的生成方法
    株洲县| 许昌县| 松桃| 宜州市| 沙坪坝区| 尉犁县| 神木县| 海安县| 西丰县| 神池县| 遂川县| 江北区| 新宁县| 分宜县| 天台县| 定日县| 山丹县| 贵德县| 澳门| 绥江县| 吉木乃县| 深泽县| 义马市| 夏河县| 广水市| 扎囊县| 西畴县| 台江县| 鄄城县| 桐柏县| 道孚县| 融水| 湖南省| 南郑县| 图片| 玛多县| 和硕县| 濮阳市| 临城县| 汕尾市| 景谷|