亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Shiro的移動應用權(quán)限控制系統(tǒng)的設計與實現(xiàn)

        2016-09-20 02:47:30許滔同濟大學上海201800
        現(xiàn)代計算機 2016年6期
        關鍵詞:過濾器特性模塊

        許滔(同濟大學,上海 201800)

        XU Tao(School of Electronic and Information Engineering,Tongji University,Shanghai 201800)

        基于Shiro的移動應用權(quán)限控制系統(tǒng)的設計與實現(xiàn)

        許滔
        (同濟大學,上海201800)

        0 引言

        隨著移動互聯(lián)網(wǎng)高速發(fā)展,越來越多的傳統(tǒng)企業(yè)和軟件被影響甚至被顛覆。移動互聯(lián)網(wǎng)很多特有的性質(zhì)不同于傳統(tǒng)Web服務。首先是移動性,每個終端都擺脫了網(wǎng)線和電源線的依賴,能夠做到隨時隨地上網(wǎng),這也就導致了碎片化上網(wǎng)這個特點。其次就是本地化,移動端能夠通過多種定位方式來獲取豐富的LBS服務,這也帶來了位置信息隱私安全的問題。權(quán)限控制系統(tǒng)作為后臺系統(tǒng)中重要的組成部分,有很多成熟的框架,例如Spring Security、Apache Shiro等,但是這些框架都是針對Web應用的,雖然具有身份認證、授權(quán)、會話管理、加密等安全模塊,都是基于角色訪問控制(RBAC)來實現(xiàn)的,但是對于移動互聯(lián)網(wǎng)的特性支持的并不多,需要在這些框架的基礎上做出擴展。本文是基于常用的權(quán)限控制框架Apache Shiro,結(jié)合移動互聯(lián)網(wǎng)的特性,擴展了該框架對動態(tài)URL的支持、位置支持和其他相關移動特性支持。

        1 系統(tǒng)總體設計

        基于Shrio的移動應用權(quán)限控制系統(tǒng)繼承了Shrio的權(quán)限控制模型,利用Shrio提供的安全管理器實現(xiàn)用戶訪問的身份認證和授權(quán)管理,系統(tǒng)必須集成Shrio并提供所需要的用戶、角色、權(quán)限域。系統(tǒng)管理員能夠根據(jù)規(guī)則輸入不同過濾器動態(tài)地控制移動端對接口的訪問控制。

        1.1系統(tǒng)的功能需求分析

        為了實現(xiàn)對RESTful API的動態(tài)權(quán)限控制,后端提供的接口必須完全遵守Restful標準,每個URI對應一種資源,客戶端通過不同的HTTP動詞來操作服務器,使得服務器端發(fā)生狀態(tài)轉(zhuǎn)移。每個定義的URI必須結(jié)構(gòu)清晰易于了解,能夠方便擴展。HTTP的4個動詞:GET、POST、PUT、DELETE依次對應4重基本操作獲取資源、新建資源、更新資源、刪除資源,也依次對應于Shiro中資源的權(quán)限view、create、update、delete。POST和PUT操作都可以用于更新資源,但是由于PUT操作具有冪等性,更符合更新操作的影響。基于以上約定,系統(tǒng)需要支持對URI的模式匹配,每個URI模式對應的動詞也能設置多個。設置過濾器定義后,系統(tǒng)能夠動態(tài)更新原有的過濾器鏈,能及時更新權(quán)限控制模塊。

        移動端位置信息的權(quán)限控制需要移動端的請求中帶上經(jīng)緯度的參數(shù),能夠根據(jù)位置信息進行多種方式的權(quán)限控制,包括基于距離的和區(qū)域的控制。因此,每個需要進行位置權(quán)限控制的資源都需要配置位置控制信息。調(diào)用失敗時,返回無權(quán)限的原因。

        1.2系統(tǒng)總體設計結(jié)構(gòu)

        基于Shiro的移動應用權(quán)限控制系統(tǒng)的總體架構(gòu)如圖1所示:

        圖1 

        整個系統(tǒng)分成了數(shù)據(jù)訪問、業(yè)務邏輯、資源服務、表現(xiàn)層4個層次。

        (1)數(shù)據(jù)訪問層,提供對數(shù)據(jù)庫操作定義,封裝數(shù)據(jù)庫細節(jié),為業(yè)務邏輯層提供數(shù)據(jù)。

        (2)業(yè)務邏輯層,按照高內(nèi)聚低耦合的原則設計的,包含了過濾器動態(tài)管理、權(quán)限控制管理、地理位置信息管理等主要邏輯模塊。

        (3)資源服務模塊,提供Restful API給Web端或者移動App終端調(diào)用。

        (4)表現(xiàn)層,管理員后臺管理系統(tǒng)或者移動端應用界面。

        2 系統(tǒng)的關鍵技術及實現(xiàn)方法

        Shiro對Servlet容器的攔過濾器鏈進行了代理,ShiroFilter在Servlet容器的過濾器鏈執(zhí)行之前,通過代理,先執(zhí)行Shiro自己的過濾器體系,然后進行容器級別的過濾器。本系統(tǒng)通過過濾器管理模塊自定義并動態(tài)更新Shiro過濾器,通過移動權(quán)限管理模塊來實現(xiàn)對API權(quán)限控制,以及基于LBS的權(quán)限控制。

        2.4過濾器管理

        定義過濾器的數(shù)據(jù)結(jié)構(gòu)為:

        這是定義過濾器的數(shù)據(jù)結(jié)構(gòu),根據(jù)管理員在Web端配置并持久化到數(shù)據(jù)庫。type和lbsType字段用于區(qū)分過濾器的不同模式,對URI的權(quán)限控制有只針對URI和URI+方法兩種模式,對位置的權(quán)限控制有距離和區(qū)域兩種模式;name字段是名稱;url字段是基于Ant path匹配原則的URI模式,一個模式可以匹配多個URI;method是HTTP方法字段,可以有多個用逗號連接;roles和permissions是Shiro的角色和權(quán)限;loca鄄tion和distance是資源的權(quán)限控制位置和有效距離,用戶位置到資源位置不超過有效距離則才有權(quán)限訪問該資源;area是資源區(qū)域,用戶位置處于資源區(qū)域時才有權(quán)限訪問該資源。

        通過以上規(guī)則定義,對于每條記錄,過濾器管理系統(tǒng)能夠向Shiro的過濾器鏈中加入不同的過濾器,當有請求到達時,Shrio調(diào)用自定義的PathMatchingFilter鄄ChainResolver類的getChain()方法得到所有與當前請求路徑匹配的過濾器,并調(diào)用過濾器管理系統(tǒng)的代理方法得到所有的過濾器進行處理。

        2.2權(quán)限管理

        RESTful API和位置信息的權(quán)限控制主要是通過實現(xiàn)FilterService接口實現(xiàn)的:據(jù)Request請求構(gòu)建后面權(quán)限驗證所需的RESTful API 和 Location信息;getMachedUrlFilter方法用于根據(jù)HTTP方法和獲取所有自定義的UrlFilter對象,再根據(jù)Ant path匹配當前請求的路徑,返回列表集合;check鄄Params方法校驗請求的參數(shù),當請求參數(shù)不合法時,過濾器會攔截請求,并返回參數(shù)異常原因;checkRequest方法進行權(quán)限控制,兩種不同的權(quán)限控制有不同的實現(xiàn)子類。抽象類AbstractFilterService實現(xiàn)了前面幾個公用方法,RestFilterService和LbsFilterService兩個子類實現(xiàn)各種的權(quán)限控制方法。

        RestFilterService的權(quán)限控制策略是,獲取所有過濾器中的角色集合和權(quán)限集合,當前用戶只要有任意角色或有任意權(quán)限就能通過,否則沒有權(quán)限。

        LbsFilterService的權(quán)限控制策略是,當前用戶的位置由每個過濾器進行權(quán)限控制,得到的結(jié)果集中只要有一個通過就可以通過,否則沒有權(quán)限。位置權(quán)限控制器實現(xiàn)接口:

        基于距離控制的類為LocationChecker,控制策略為用戶當前位置與資源權(quán)限控制位置之間的實際距離不大于權(quán)限控制距離就通過;基于區(qū)域控制的類為AreaChecker,控制策略為用戶當前位置在權(quán)限控制區(qū)域里就通過?;谖恢玫臋?quán)限控制中對位置信息的處理主要用到了百度地圖API的地址解析和逆地址解析等相關接口。

        3 結(jié)語

        本文分析了移動互聯(lián)網(wǎng)的新特性與Apache Shiro安全框架的優(yōu)良特性,通過結(jié)合移動應用RESTful API 和LBS這兩個特性與Shiro的擴展性,合理設計了一個符合RESTful風格的權(quán)限控制系統(tǒng)。具有結(jié)構(gòu)清晰、可擴展性強、移動性強等特性。實際應用表明,該控制系統(tǒng)可以對控制粒度靈活配置,方便移植到其他移動應用系統(tǒng)中去。在未來的發(fā)展中,可繼續(xù)深入擴展,整合其他移動特性進來。例如手機聯(lián)系人、網(wǎng)絡狀態(tài)等,實現(xiàn)更加豐富的權(quán)限控制功能。

        [1]羅軍舟,吳文甲,楊明.移動互聯(lián)網(wǎng):終端、網(wǎng)絡與服務.計算機學報,2011(11):11-34.

        [2]Fielding R T.Architectural Styles and the Design of Network-Based Software Architectures[J].University of California Irvine,2000,64 (3):303.

        [3]周傲英,楊彬,金澈清,馬強.基于位置的服務:架構(gòu)與進展.計算機學報,2011(7):1155-1171.

        [4]李春雨.基于位置的權(quán)限管理系統(tǒng)研究與實現(xiàn).上海交通大學,2007.

        [5]孟志飛.基于URL訪問權(quán)限控制的網(wǎng)絡安全技術.華東師范大學,2007

        [6]徐孝成.基于Shiro的Web應用安全框架的設計與實現(xiàn).電腦知識與技術,2015(16):93-95.

        Permission Control;Apache Shiro;RESTful;LBS

        Design and Implementation of Mobile Permission Control System Based on Shiro

        1007-1423(2016)06-0097-04

        10.3969/j.issn.1007-1423.2016.06.023

        2015-12-17

        2016-01-15

        XU Tao
        (School of Electronic and Information Engineering,Tongji University,Shanghai 201800)

        權(quán)限控制系統(tǒng)是軟件系統(tǒng)中非常關鍵的一個系統(tǒng),已經(jīng)有很多成熟的軟件系統(tǒng),但是在移動互聯(lián)網(wǎng)的新環(huán)境下有很多新的因素影響著權(quán)限系統(tǒng)。經(jīng)過對Apache Shiro、RESTful、移動互聯(lián)網(wǎng)等進行研究,給出基于Shiro并結(jié)合移動互聯(lián)網(wǎng)與RESTful特性的移動應用權(quán)限控制系統(tǒng),并利用Java語言編程對該系統(tǒng)進行設計與實現(xiàn)。

        權(quán)限控制;Apache Shrio;RESTful;LBS

        許滔(1989~),男,湖南汨羅人,在讀研究生,研究方向為移動互聯(lián)網(wǎng)安全

        Permission control system is a key part of software system,there are a lot of sophisticated software systems.But under the new environ鄄ment of mobile Internet,many new factors affect the permission system.By researching on the Apache Shiro,RESTful API and Mobile Internet,puts forward a permission system on the basis of Apache Shrio with the features of mobile Internet and RESTful.Gives a design and realization of this system by applying the Java language programming.

        猜你喜歡
        過濾器特性模塊
        28通道收發(fā)處理模塊設計
        “選修3—3”模塊的復習備考
        谷稗的生物學特性和栽培技術
        色彩特性
        流行色(2020年9期)2020-07-16 08:08:54
        進一步凸顯定制安裝特性的優(yōu)勢 Integra DRX-5.2
        支持過濾器的REST模型研究與實現(xiàn)
        電子測試(2018年9期)2018-06-26 06:45:56
        聲音過濾器
        趣味(語文)(2018年2期)2018-05-26 09:17:55
        Quick Charge 4:什么是新的?
        CHIP新電腦(2017年6期)2017-06-19 09:41:44
        選修6 第三模塊 International Relationships
        基于LOGO!的空氣過濾器自潔控制系統(tǒng)
        自動化博覽(2014年6期)2014-02-28 22:32:20
        欧美国产高清| 女人下边被添全过视频| 精东天美麻豆果冻传媒mv| 亚洲精品成人网久久久久久| 天堂Av无码Av一区二区三区| 91色综合久久熟女系列| 国产精品色内内在线播放| 国产丝袜在线福利观看| 婷婷色婷婷开心五月四| 亚洲日韩国产精品乱-久| 欧美自拍丝袜亚洲| 亚洲视频中文字幕更新| 激情亚洲一区国产精品| 久久精品噜噜噜成人| 国产精品成人嫩妇| 国产一级自拍av播放| 老熟妇乱子交视频一区| 日日噜狠狠噜天天噜av| 欧美精品aaa久久久影院| 视频在线亚洲视频在线| 性久久久久久| 亚洲狠狠婷婷综合久久| 久久精品综合国产二区| 日韩精品视频在线观看无| 少妇粉嫩小泬喷水视频www| av鲁丝一区鲁丝二区| 在线精品亚洲一区二区三区| 人妻少妇偷人精品久久性色av| 好屌草这里只有精品 | 国产成人一区二区三区高清 | 偷拍偷窥女厕一区二区视频| 无码中文字幕日韩专区视频| 亚洲AV成人无码久久精品在| 亚洲一区中文字幕视频 | 亚洲色www成人永久网址| 久久中文字幕亚洲精品最新| 日本熟妇中出高潮视频| 久热国产vs视频在线观看| 欧美在线不卡视频| 男女动态视频99精品| 男人的天堂av网站|