999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Shiro的移動應用權限控制系統的設計與實現

2016-09-20 02:47:30許滔同濟大學上海201800
現代計算機 2016年6期
關鍵詞:資源用戶方法

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

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

基于Shiro的移動應用權限控制系統的設計與實現

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

0 引言

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

1 系統總體設計

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

1.1系統的功能需求分析

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

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

1.2系統總體設計結構

基于Shiro的移動應用權限控制系統的總體架構如圖1所示:

圖1 

整個系統分成了數據訪問、業務邏輯、資源服務、表現層4個層次。

(1)數據訪問層,提供對數據庫操作定義,封裝數據庫細節,為業務邏輯層提供數據。

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

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

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

2 系統的關鍵技術及實現方法

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

2.4過濾器管理

定義過濾器的數據結構為:

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

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

2.2權限管理

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

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

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

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

3 結語

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

[1]羅軍舟,吳文甲,楊明.移動互聯網:終端、網絡與服務.計算機學報,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]周傲英,楊彬,金澈清,馬強.基于位置的服務:架構與進展.計算機學報,2011(7):1155-1171.

[4]李春雨.基于位置的權限管理系統研究與實現.上海交通大學,2007.

[5]孟志飛.基于URL訪問權限控制的網絡安全技術.華東師范大學,2007

[6]徐孝成.基于Shiro的Web應用安全框架的設計與實現.電腦知識與技術,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)

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

權限控制;Apache Shrio;RESTful;LBS

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

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.

猜你喜歡
資源用戶方法
基礎教育資源展示
一樣的資源,不一樣的收獲
資源回收
資源再生 歡迎訂閱
資源再生(2017年3期)2017-06-01 12:20:59
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 中国一级特黄大片在线观看| 国产精品福利一区二区久久| 亚洲高清无码久久久| 18禁不卡免费网站| 国产成人精品一区二区不卡| 青青青国产精品国产精品美女| 久久综合AV免费观看| 亚洲欧州色色免费AV| 夜夜操天天摸| 青草国产在线视频| 无码专区第一页| 久久精品中文字幕免费| 97超碰精品成人国产| 综合五月天网| 国产成人乱无码视频| 色妞www精品视频一级下载| 久久久精品国产亚洲AV日韩| 国产成人h在线观看网站站| 亚洲天堂免费| a毛片免费在线观看| 尤物国产在线| 欧美成一级| 夜夜爽免费视频| 国产精欧美一区二区三区| 九色在线观看视频| 青青草一区| 99久久国产综合精品女同| 国产一区二区三区精品欧美日韩| 国产成年女人特黄特色毛片免 | 亚洲欧洲日产国产无码AV| 国产亚洲精久久久久久无码AV| 久久精品丝袜| 国产主播福利在线观看| 在线a视频免费观看| 精品第一国产综合精品Aⅴ| 91国语视频| 22sihu国产精品视频影视资讯| 在线色国产| 日本一本在线视频| 国产精品第页| 99热这里只有免费国产精品| 国产精品xxx| 国产中文一区二区苍井空| 国产人妖视频一区在线观看| 亚洲人成在线精品| 中国成人在线视频| 日韩AV手机在线观看蜜芽| 精品国产成人高清在线| 尤物精品视频一区二区三区| 日韩二区三区无| 午夜a级毛片| 国产福利一区二区在线观看| 农村乱人伦一区二区| 国产97色在线| 欧美一级夜夜爽| 日本中文字幕久久网站| 欧美日韩精品综合在线一区| 国产成人午夜福利免费无码r| 国产精品久久久久无码网站| 色偷偷一区二区三区| 欧美亚洲另类在线观看| 国产综合精品一区二区| 亚洲天堂高清| 青青久久91| 性欧美在线| 久久国产亚洲欧美日韩精品| 亚洲福利视频一区二区| 中文字幕人妻无码系列第三区| 免费在线观看av| 福利视频久久| 国产精品主播| 无遮挡国产高潮视频免费观看| 色综合久久综合网| 五月丁香在线视频| 亚洲综合一区国产精品| 国产精品久久久久久久久久98| 精品国产乱码久久久久久一区二区| 精品国产自| 国产精品深爱在线| 亚洲欧美h| 乱码国产乱码精品精在线播放| 精品视频在线观看你懂的一区|