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
捕魚
主站蜘蛛池模板: AV天堂资源福利在线观看| 国产高清精品在线91| 91精品国产情侣高潮露脸| 欧美综合激情| 免费毛片a| 亚洲无码A视频在线| 国产99免费视频| 98超碰在线观看| 成人免费一级片| 国产性生交xxxxx免费| 无码中文字幕精品推荐| 好吊色国产欧美日韩免费观看| 黄色成年视频| 国产精品19p| 91综合色区亚洲熟妇p| 国产伦精品一区二区三区视频优播 | 亚洲精品高清视频| 国国产a国产片免费麻豆| 成人国产免费| 亚洲欧美一级一级a| 91网站国产| 无码内射在线| 精品国产自在在线在线观看| 毛片网站在线看| 久久semm亚洲国产| 午夜少妇精品视频小电影| 亚洲日本中文综合在线| 999国产精品| 最新亚洲人成网站在线观看| 亚洲午夜天堂| 99无码中文字幕视频| a级毛片免费网站| 亚洲欧洲日本在线| 一级爱做片免费观看久久| 国产精品熟女亚洲AV麻豆| 经典三级久久| 国产欧美在线观看视频| 在线免费亚洲无码视频| 国产乱子伦手机在线| 国产在线97| 亚洲综合久久成人AV| 国产精品久久久久无码网站| 97国产成人无码精品久久久| 成人免费黄色小视频| 2021国产乱人伦在线播放| 在线观看91精品国产剧情免费| 久久国产精品电影| 97青草最新免费精品视频| 2021国产乱人伦在线播放 | 91在线播放免费不卡无毒| 国产真实乱人视频| 亚洲中文字幕av无码区| 98精品全国免费观看视频| 白浆视频在线观看| 国产第一页屁屁影院| 亚洲综合色在线| 国产成人无码综合亚洲日韩不卡| 无码AV高清毛片中国一级毛片| 欧美一区二区三区国产精品| 国产靠逼视频| 国产日韩久久久久无码精品| 丰满人妻久久中文字幕| 一级毛片视频免费| 91无码网站| 激情爆乳一区二区| 丰满的熟女一区二区三区l| 国产91av在线| 久久久噜噜噜久久中文字幕色伊伊| 国产成人精品一区二区不卡| 热久久这里是精品6免费观看| 亚洲成人免费在线| 精品国产免费第一区二区三区日韩| 国产精品一线天| 国产精品美女免费视频大全| 喷潮白浆直流在线播放| 丁香婷婷综合激情| 久久久91人妻无码精品蜜桃HD| 亚洲中文精品人人永久免费| 女人一级毛片| 亚洲欧美日韩精品专区| 欧美国产精品不卡在线观看 | 久久中文字幕不卡一二区|