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

        ?

        一種統(tǒng)一用戶管理和認證授權方案

        2015-12-20 01:10:14朱志祥梁小江
        電子科技 2015年5期
        關鍵詞:數(shù)據(jù)庫用戶信息

        張 振,朱志祥,梁小江

        (1.西安郵電大學通信技術研究所,陜西西安 710061;2.西安未來國際信息股份有限公司研發(fā)中心,陜西西安 710065)

        傳統(tǒng)業(yè)務系統(tǒng)中用戶信息與業(yè)務數(shù)據(jù)存儲在同一數(shù)據(jù)源,若一個用戶同時需要訪問多個業(yè)務系統(tǒng),就需要多次進行登錄認證,而多個業(yè)務系統(tǒng)的登錄認證信息可能會有差異,對于用戶來說,多次登錄認證和多套用戶名密碼是很不不方便而且繁瑣的,同時,對于管理人員來說多個業(yè)務系統(tǒng)之間使用不同的用戶數(shù)據(jù)源,易造成用戶數(shù)據(jù)不同步。

        一種經(jīng)過優(yōu)化的用戶管理和認證系統(tǒng),通過將用戶信息從業(yè)務系統(tǒng)分離并整合成統(tǒng)一用戶管理系統(tǒng),做到單一的用戶數(shù)據(jù)源,解決了用戶信息同步的問題[1];通過實現(xiàn)單點認證,用戶只需登錄一次,在同一瀏覽器環(huán)境下,進入其他業(yè)務系統(tǒng)均無需登錄,使得用戶訪問多個系統(tǒng)更加簡單快捷[2]。這種設計提高了管理效率,優(yōu)化了用戶體驗,但是當用戶訪問量很大時,單點認證系統(tǒng)的壓力就會很大。用戶數(shù)據(jù)屬于結構化的數(shù)據(jù),一般都是持久化到關系型數(shù)據(jù)庫中,進行多表關聯(lián),在大量用戶并發(fā)認證并授權時將會出現(xiàn)大量關聯(lián)查詢,數(shù)據(jù)庫承受的讀寫壓力過大[3],這會嚴重影響整個系統(tǒng)的性能。

        針對這些問題提出了一套解決方案,該方案使用單一數(shù)據(jù)源保證了用戶數(shù)據(jù)一致性,所有應用服務實現(xiàn)單點認證,并通過應用服務自身對用戶操作進行權限控制,通過分離業(yè)務數(shù)據(jù)與用戶數(shù)據(jù),并對用戶數(shù)據(jù)統(tǒng)一管理,在用戶管理和認證授權部分結合數(shù)據(jù)庫與內存數(shù)據(jù)庫各自的優(yōu)點實現(xiàn)用戶數(shù)據(jù)讀寫分離,提升系統(tǒng)的管理和訪問應答性能。

        1 系統(tǒng)架構設計

        為保證數(shù)據(jù)的一致性,系統(tǒng)采用單一數(shù)據(jù)源整合維護用戶數(shù)據(jù),并實現(xiàn)讀寫分離,應用服務只維護業(yè)務數(shù)據(jù),多個應用服務之間實現(xiàn)單點認證,即一次登錄便可在任何應用間無登錄跳轉。該系統(tǒng)主要包括統(tǒng)一用戶管理系統(tǒng)、用戶數(shù)據(jù)信息、單點認證系統(tǒng)和應用服務4大部分,如圖1所示。其中,用戶數(shù)據(jù)信息部分是本方案的設計重點,將結構化用戶數(shù)據(jù)存儲在數(shù)據(jù)庫中,由統(tǒng)一用戶管理系統(tǒng)進行維護數(shù)據(jù)關系,同時將用戶數(shù)據(jù)重組成JSON格式的數(shù)據(jù),存入內存數(shù)據(jù)庫中,利用內存數(shù)據(jù)庫讀取快速的特點提高單點認證的負載能力和響應速度[4]。

        圖1 系統(tǒng)整體架構

        1.1 統(tǒng)一用戶管理系統(tǒng)

        統(tǒng)一用戶管理系統(tǒng),包括系統(tǒng)管理和應用服務管理兩部分。系統(tǒng)管理集中維護所有用戶的基本信息,并對系統(tǒng)本身的用戶角色和權限進行控制管理;應用服務管理并對所有應用服務進行注冊管理,并對各應用的用戶進行角色劃分實現(xiàn)應用的權限管理。角色是應用服務不同模塊權限的集合,決定了用戶對應用服務不同模塊的訪問控制權限[5]。系統(tǒng)設計如圖2所示。

        圖2 統(tǒng)一用戶管理系統(tǒng)

        1.2 用戶數(shù)據(jù)信息

        用戶數(shù)據(jù)信息主要包括數(shù)據(jù)庫中用戶信息的持久化以及適配用戶信息到內存數(shù)據(jù)庫。由于用戶數(shù)據(jù)初始化后改動較少,數(shù)據(jù)寫的壓力并不大,所以統(tǒng)一用戶管理系統(tǒng)直接對數(shù)據(jù)庫進行操作。系統(tǒng)運行過程中伴隨著大量的用戶數(shù)據(jù)讀取,用戶認證需要獲取用戶的驗證信息,認證通過后還需將用戶的基本信息和用戶的權限通過認證系統(tǒng)下發(fā)給業(yè)務系統(tǒng),整個過程中需要對數(shù)據(jù)庫進行多次關聯(lián)查詢,并發(fā)量大時給數(shù)據(jù)庫造成較大壓力,系統(tǒng)整體性能將會降低。認證授權過程中數(shù)據(jù)只有讀取,這樣就可將數(shù)據(jù)結構重組成業(yè)務系統(tǒng)容易獲取,且足夠輕量以便在網(wǎng)絡中傳輸,選擇內存數(shù)據(jù)庫來存儲重組后的用戶數(shù)據(jù),在系統(tǒng)開始時將所有用戶信息重組同步到內存數(shù)據(jù)中,之后針對個別用戶的修改可進行單個數(shù)據(jù)的同步,這樣在系統(tǒng)運行過程中,利用內存數(shù)據(jù)庫讀寫速度快的特點來提高認證授權速度。充分利用數(shù)據(jù)庫和內存數(shù)據(jù)庫的特點,實現(xiàn)數(shù)據(jù)的讀寫分離,并提高數(shù)據(jù)使用的靈活性。

        數(shù)據(jù)庫中數(shù)據(jù)存儲在數(shù)據(jù)表中,主要數(shù)據(jù)的表為用戶、角色、權限,用戶與角色多對多關聯(lián),角色與權限多對多關聯(lián),這樣通過角色將用戶與權限信息綁定[6],在內存數(shù)據(jù)庫中,數(shù)據(jù)保存為鍵值對形式,將用戶名作為鍵值代表一個用戶,將用戶基本信息,角色信息包括權限信息進行數(shù)據(jù)重組,封裝成輕量級的JSON數(shù)據(jù)作為值保存在內存數(shù)據(jù)庫中,這樣只通過用戶名就可直接查詢到用戶的所有信息[7],有效減少了數(shù)據(jù)查詢的壓力。由于內存數(shù)據(jù)庫將數(shù)據(jù)存儲在內存中,數(shù)據(jù)讀取速度很快,系統(tǒng)在用戶認證時能夠快速讀取到數(shù)據(jù)進行響應,如圖3所示。

        圖3 用戶數(shù)據(jù)信息適配過程

        將用戶數(shù)據(jù)重組并存入內存數(shù)據(jù)庫,通過降低數(shù)據(jù)查詢次數(shù)來提高數(shù)據(jù)查詢速度,同時利用內存讀取快的特點提高數(shù)據(jù)讀取速度,又因為用戶數(shù)據(jù)重組后更加輕量靈活,也給系統(tǒng)的網(wǎng)絡傳輸和數(shù)據(jù)處理提供了便利。

        1.3 單點認證系統(tǒng)

        所有應用服務的認證過程統(tǒng)一由單點認證系統(tǒng)承擔,用戶只需認證一次,就可實現(xiàn)所有應用服務之間無登錄自由跳轉[8]。單點認證系統(tǒng)從內存數(shù)據(jù)庫中讀取用戶信息并分發(fā)給用戶正在訪問的應用服務,應用服務獲取到單點認證系統(tǒng)反饋的用戶信息,就可通過用戶權限實現(xiàn)對用戶的訪問控制,因網(wǎng)絡傳輸過程中涉及關鍵信息,故采用Https方式進行數(shù)據(jù)傳輸[9]。單點認證授權過程如圖4所示。

        圖4 單點認證授權過程

        1.4 應用服務

        應用服務是本系統(tǒng)的最終業(yè)務實體,它只維護自身系統(tǒng)的業(yè)務數(shù)據(jù),并不持有或維護用戶數(shù)據(jù),用戶只有在單點認證通過后,用戶當前訪問的應用服務才會獲得用戶數(shù)據(jù),并通過獲取到的用戶數(shù)據(jù)對用戶進行權限控制,不同角色的用戶因為獲得的權限不同,所以在同一個應用服務上可進行的操作是不同的[10]。

        2 系統(tǒng)實現(xiàn)與測試結果

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

        (1)統(tǒng)一用戶管理系統(tǒng)?;赟SH(Struts2,Spring,Hibernate)組合框架編程實現(xiàn)。

        (2)用戶數(shù)據(jù)信息。采用MySQL+REDIS實現(xiàn),數(shù)據(jù)修改只操作MySQL數(shù)據(jù)庫,REDIS只作為單點認證系統(tǒng)的數(shù)據(jù)源,只進行從MySQL數(shù)據(jù)庫的同步工作。

        (3)單點認證系統(tǒng)。采用開源中央認證服務(Central Authentication Service,CAS)實現(xiàn),修改源碼用戶數(shù)據(jù)認證以及屬性返回模塊,使支持讀取內存數(shù)據(jù)庫并返回信息。

        (4)應用服務權限控制。采用開源Apache shiro集成CAS實現(xiàn),應用服務認證成功后解析CAS分發(fā)的用戶角色和權限信息,實現(xiàn)對用戶的權限控制。

        2.2 測試過程

        本方案測試重點為用戶數(shù)據(jù)信息部分,同時測試單點認證系統(tǒng)和應用服務信息的權限控制功能能否正常工作。數(shù)據(jù)讀取測試步驟如下:

        步驟1 使用MySQL數(shù)據(jù)庫作為統(tǒng)一用戶管理系統(tǒng)的數(shù)據(jù)源,同時作為單點認證系統(tǒng)的認證數(shù)據(jù)源,從數(shù)據(jù)庫讀取100 000條用戶數(shù)據(jù)用時357 s。

        步驟2 使用MySQL數(shù)據(jù)庫作為統(tǒng)一用戶管理系統(tǒng)的數(shù)據(jù)源,使用REDIS內存數(shù)據(jù)庫作為單點認證系統(tǒng)的認證數(shù)據(jù)源,從數(shù)據(jù)庫讀取100 000條用戶數(shù)據(jù)用時123 s。

        單點認證和授權測試使用了兩套不同的內容管理系統(tǒng),均需登錄認證后才能進行操作。認證和授權測試步驟如下:

        步驟1 使用管理員用戶登錄內容管理系統(tǒng)1,登錄后再頁面顯示用戶角色信息。登錄頁面如圖5,登錄成功頁面如圖6所示。

        圖5 單點認證系統(tǒng)界面

        圖6 內容管理系統(tǒng)管理員頁面

        步驟2 通過內容管理系統(tǒng)1上的鏈接進入內容管理系統(tǒng)2,進入頁面如圖7所示。

        圖7 內容管理系統(tǒng)2管理員頁面

        步驟3 退出登錄,使用普通用戶登錄任意一個內容管理系統(tǒng),登錄成功頁面如圖8所示。

        圖8 內容管理系統(tǒng)1普通用戶界面

        2.3 測試結論

        (1)使用內存數(shù)據(jù)庫進行優(yōu)化后,查詢數(shù)據(jù)速度提升了約3倍。

        (2)多個應用之間可實現(xiàn)單點認證,能通過返回的JSON數(shù)據(jù)解析到權限信息,并在系統(tǒng)中正確體現(xiàn)。

        3 結束語

        用戶數(shù)據(jù)實現(xiàn)了統(tǒng)一管理,利用數(shù)據(jù)庫和內存數(shù)據(jù)庫的優(yōu)點將數(shù)據(jù)適配存儲,實現(xiàn)用戶數(shù)據(jù)的讀寫分離,既能保證用戶數(shù)據(jù)的關系映射,又能快速響應各應用服務對用戶數(shù)據(jù)的請求。由于應用服務本身不持有和維護用戶信息,實現(xiàn)單點認證同時獲取到授權信息,提高了整個系統(tǒng)的易用性和安全性,使得整個系統(tǒng)性能得到大幅提升。

        [1]王茜,史晨昱,李安穎,等.基于統(tǒng)一用戶管理的辦公業(yè)務資源系統(tǒng)集成[J].計算機技術與發(fā)展,2014,1(1):200-203.

        [2]張濤,王秉坤.使用 CAS在Tomcat中實現(xiàn)單點登錄[EB/OL].(2008 -4 -10)[2014 -11 -18]http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/.

        [3]Russell J T Dyer,李紅軍,李冬梅.MySQL核心技術手冊[M].北京:機械工業(yè)出版社,2009.

        [4]陸嘉恒.大數(shù)據(jù)挑戰(zhàn)與NoSQL數(shù)據(jù)庫技術[M].北京:電子工業(yè)出版社,2013.

        [5]張琪.基于角色的權限管理系統(tǒng)的設計與實現(xiàn)[D].成都:電子科技大學,2013.

        [6]徐斌,袁健.基于Web2.0的用戶權限管理研究與實現(xiàn)[J].計算機工程,2008,34(13):157 -159.

        [7]劉國鈞.JavaScript核心概念及實踐[M].北京:人民郵電出版社,2013.

        [8]景民昌,唐弟官.開放源碼的CAS單點登錄系統(tǒng)研究[J].現(xiàn)代情報,2009,29(3):125 -127.

        [9]趙艷芳.基于CAS的統(tǒng)一認證平臺的設計與實現(xiàn)[J].云南大學學報:自然科學版,2013,35(S2):165 -168.

        [10]黃經(jīng)贏.基于Shiro框架的細粒度權限控制系統(tǒng)的設計與實現(xiàn)[J].廣東技術師范學院學報:自然科學,2013(7):20-23.

        猜你喜歡
        數(shù)據(jù)庫用戶信息
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        關注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        關注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        如何獲取一億海外用戶
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        国内精品自在自线视频| 一区二区三区日本伦理| 亚洲av色影在线| 99re热视频这里只精品| 制服丝袜视频国产一区| 丰满人妻无奈张开双腿av| 一本久道竹内纱里奈中文字幕| 少妇人妻精品一区二区三区| 最近高清中文在线字幕观看 | 亚洲va欧美va人人爽夜夜嗨| 中文字幕人妻被公喝醉在线| 久久婷婷色香五月综合缴缴情| 国产成人亚洲精品无码mp4| 亚洲五月激情综合图片区| 国产免费一区二区三区在线观看| 国产av无码专区亚洲av果冻传媒| 久久丫精品国产亚洲av不卡| 国产精彩视频| 人妻丰满精品一区二区| 久久精品中文字幕| 日本高清aⅴ毛片免费| 亚洲日本国产乱码va在线观看 | 日韩 亚洲 制服 欧美 综合| 久久水蜜桃亚洲av无码精品麻豆 | 丝袜人妻中文字幕首页| 无码日韩精品一区二区免费暖暖| 99精品国产高清一区二区麻豆| 成人日韩av不卡在线观看| 国产丝袜一区丝袜高跟美腿| 无码aⅴ精品一区二区三区浪潮| 永久免费无码av在线网站| 亚洲欧美成人久久综合中文网| 男人天堂亚洲天堂av| 男女后进式猛烈xx00动态图片| 美女裸体无遮挡免费视频的网站 | 中国女人内谢69xxxx免费视频| 国产在线美女| 青青草绿色华人播放在线视频| 国产精品永久在线观看| 性一交一乱一伦| 成人免费视频自偷自拍|