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

面向網上商城的單點登錄系統的研究與實現

2018-06-25 07:34:40梅本祥
無線互聯科技 2018年6期

梅本祥

摘 要:文章對現有單點登錄模型作出了優缺點分析,設計了一種基于SOA架構的單點登錄系統。系統基于SOA架構使用Dubbo作為分布式服務框架,Zookeeper作為注冊中心。系統將自定義生成的用戶登錄憑證(Ticket)保存到Redis緩存數據庫和瀏覽器的Cookie中。登錄校驗時,攔截器會將瀏覽器中Cookie的值與Redis中的數據進行比對,以達到校驗效果。本系統充分吸收了現有模型的優點,不僅具有很好的靈活性和易于管理用戶數據的優勢,而且維護簡單,更重要的是它非常適用于高并發高可用需求的應用場景。關鍵詞:單點登錄;SOA; Redis;Cookie

隨著信息化的不斷發展,普通的一體化架構已經無法滿足大型互聯網應用龐大規模的需求,分布式垂直架構逐漸成為大中型網站的主流選擇。然而,在垂直架構中一個系統會被拆分成多個子系統,分別提供不同的服務。例如淘寶,京東這種大型網上商城,會被拆分成相當多的子系統,用戶的一次購物操作就會涉及很多個子系統,若是所有子系統都需要用戶來一次登錄操作,這樣不僅繁瑣而且會增加系統的負擔。在這樣的背景需求下單點登錄系統的出現顯得尤為重要。單點登錄(Single Sign-on,SSO),是指在一個應用系統群中,客戶端只要登錄一個系統就能夠在其他應用系統也得到認汪授權,無需再次登錄[1-2]。

而且在現今環境下,日益增多的需求比如爆發式增長的數據、持續提高的負載等等,對應用系統提出了更嚴苛的挑戰。系統的設計不僅要考慮到高并發高可用性的需求,還要從提高可維護性,資源利用最大化(也就是對服務進行差異化支撐)等方面去思考。本文提出的單點登錄系統,采用面向服務架構(Service-Oriented Architecture,SOA),具有優秀的可維護性以及可擴展性,而且易于針對服務差異化分別搭建服務器集群,可以有效地提高網站性能,提升用戶體驗。

1 相關技術

目前主要的單點登錄實現方案以及它們的優缺點分別如下:

基于經紀人的單點登錄方案的主要特點是引進了第三方的服務器作為經紀人[3] (Broker)用來實現認證功能以及管理用戶信息。該方案的主要優點是對用戶數據進行集中管理和維護比較容易;主要缺點是需要修改原有應用服務器的認證模塊。

基于代理的單點登錄方案(Agent-Based SSO)的主要特點是引入了代理程序(Agent)來為不同的應用系統自動完成認證操作[4]。該方案的優點是不用對原有系統進行改動,具有很好的靈活性;缺點是每一個應用系統都要配置相應的代理插件,增加了維護時的難度。

基于代理&經紀人的單點登錄方案的主要特點是綜合吸收了基于代理方案和基于經紀人方案的優點,不僅具有前者的靈活性而且兼備后者集中管理的優勢[5]。 基于網關的單點登錄方案的主要特點是在網絡的入口處設置一個網關,并且將資源保護在受信網段之內[6]。用戶通過網關的認證授權后,才能進行后續的訪問。該方案的優點是,網關的安裝和設置相對方便;缺點是在多個安全網關的情況下,用戶信息很難進行同步保存。

2 基于SOA的單點登錄方案

SOA具有松耦合、位置透明以及可以在異構平臺間復用等好處[7]。它的最主要特點是表現層和服務層的解耦合,相當于將原來的系統從服務層—刀切開分成兩個子系統,再通過接口聯系起來。系統可拆分為Web和Service兩個子系統。Web系統分為表現層和控制層,表現層提供統一的登錄/注冊界面.控制層處理接收到的用戶請求。Service系統負責具體業務的實現,并對外提供業務接口。

2.1注冊流程

用戶填寫完注冊信息后,系統會生成隨機驗證碼并將其保存在Redis緩存中,與此同時還經消息隊列調用阿里大于短信接口[8],將驗證碼發送給用戶。用戶提交接收到的驗證碼,系統將其與保存在Redis中的信息進行對比,若相同則注冊成功。成功后系統將用戶信息保存在數據庫中。具體流程如圖l所示。

2.2登錄流程

用戶登錄校驗時,系統會將接收到的登錄信息與存放在數據庫中的信息進行對比,判斷用戶是否合法。若合法,則生成一個Ticket票據,然后將此票據存入用戶瀏覽器Cookie中,同時還將Ticket和用戶信息以鍵值對的形式存入Redis緩存數據庫。

Ticket是由系統生成的一個字符串,具有唯一性,用作登錄憑證。我們使用MD5加密后的用戶ID作為Ticket。由于Cookie不能被跨域訪問,然而上級域名下的Cookie能夠被下級域名下的網頁獲得。所以我們要將各個子系統的域名統一為二級域名,而且將Ticket存放在頂級域名下的Cookie中??紤]到數據庫的存取操作耗時較大,而且Ticket不需要持久化存儲,所以我們在服務器端將Ticket存放在Redis緩存中,以提高系統性能。具體流程如圖2所示。

2.3認證流程

我們對必須登錄以后才能進行的請求編寫攔截器。攔截器在請求訪問具體的控制器之前進行登錄判斷:

(l)判斷請求頭部的Cookie中是否存在Ticket。如果不存在Ticket則說明沒有登錄,則重新定向跳轉到登錄頁面。

(2)如果存在Ticket,然后判斷Ticket對應的用戶信息數據是否也存在于Redis緩存中。如果存在用戶信息則說明已經登錄并且沒有過期,那么放行;如果不存在用戶信息那么說明用戶的登錄已經過期,重新定向跳轉到登錄頁面。

由于其他子系統和單點登錄系統在不同的二級域名下,所以當其他子系統向單點登錄系統請求獲取用戶信息時,屬于跨域請求。而在同源策略[9]下,跨域請求可以正常發送,但是得不到返回值。資料格式的使用模式(JSONwith Padding,JSONP)[lo]構建于JSON之上,通過動態生成script標簽加載另一個源上的JS文件來得到返回的JSON數據,我們使用JSONP實現跨域請求。

2.4退出流程

退出時,我們只需將Redis里的Ticket有效時間設置為立即失效即可。

3實驗結果分析

登錄前頁iURL地址為“www.taotao.com”,導航欄顯示“您好,歡迎來到淘淘![登錄][免費注冊]”,如圖3所示。

注冊頁面URL地址為“sso.taotao.com/register”,我們注冊一個用戶名為“小小陽光”的用戶,如圖4所示。

登錄后頁面URL地址為“www.taotao.com”,導航欄顯示為“小小陽光,歡迎來到淘淘![退出]”。說明登錄成功,而且跨域從登錄系統拿到了用戶信息,如圖5所示。

4結語

本文設計實現了一個面向網上商城的單點登錄系統,適用于大中型網站建設。本系統將Ticket票據和用戶信息作為鍵值對放入Redis高速緩存,可提升系統應對高并發訪問時的響應速度。同時系統采取將Ticket保存在Cookie中并使用JSONP技術,解決了跨域訪問的問題。如何控制不同用戶對相關資源的訪問權限是本文還有沒完成的,用戶的權限管理是下一步的主要工作內容。

[參考文獻]

[1]淡艷,尹歉.單點登錄系統模型分析[J].成都大學學報,2008 (2):123-126.

[2]許方恒,陳暄,龍丹.新型的多分布式用戶單點登錄模型[J]計算機應用研究,2012 (9):3355-3357

[3]胡雅琴.分布式跨域單點瑩錄模型的研究與應用[D].上海:上海交通大學,2014

[4]文德民.基于Cookie的跨域單點登錄系統的設計與實現『D].北京:北京郵電大學,2010

[5]林滿山,郭荷清.單點登錄技術現狀及發展[J]計算機應用,2004 (6):248-250

[6]張經宇.門戶系統中單點登錄模型的研究和實現[J]職大學報,2009 (2):98-100

[7lDRIK K, KARL B. DIRK S.Enterprise SOA: service-oriented architecture best practices[M] .US: Prentice Hall PTR. 2004

[8]阿里云.云通信幫助支持[EB/OL].( 2017-12-15) [2018-02-11] .https://doc.alidayu.com/doc2/index.htm

[9]何良,方勇.瀏覽器跨域通信安全技術研究[J]信息安全與通信保密,2013 (4):59-61

[10]黨壽江,王勁林,曾學文,等.JSONP研究及其在IPTV門戶系統中的應用[J]微計算機信息,2010 (30):183-185

主站蜘蛛池模板: 91免费观看视频| 天堂中文在线资源| 99视频只有精品| 91丝袜乱伦| 亚洲视频三级| 国产在线精品美女观看| 一区二区三区国产精品视频| 亚洲色精品国产一区二区三区| 午夜丁香婷婷| 欧美 亚洲 日韩 国产| 国产人免费人成免费视频| 国产成人欧美| 欧美无专区| 在线观看国产小视频| 欧美一区二区自偷自拍视频| 国产精品手机在线观看你懂的| 久久精品国产精品国产一区| 国产二级毛片| 国产成人精品免费视频大全五级| 欧美日韩免费在线视频| 国产免费久久精品99re丫丫一| 欧美国产综合视频| 亚洲,国产,日韩,综合一区| 国产污视频在线观看| 欧美国产精品不卡在线观看 | 免费在线观看av| 精品国产香蕉伊思人在线| 潮喷在线无码白浆| 亚洲成人播放| 亚洲欧美色中文字幕| 青青草国产一区二区三区| 国产美女视频黄a视频全免费网站| www亚洲精品| 国产精品成人免费综合| 国产精品九九视频| 国产在线91在线电影| 久久精品人人做人人综合试看| 嫩草在线视频| 欧美精品亚洲精品日韩专| 久久综合结合久久狠狠狠97色 | 久久国产精品国产自线拍| 2021精品国产自在现线看| 看国产一级毛片| 玩两个丰满老熟女久久网| 国产欧美亚洲精品第3页在线| 日本高清免费不卡视频| 久久无码av三级| 国产精品区网红主播在线观看| 亚洲精品国产自在现线最新| 亚洲AV免费一区二区三区| 久久久精品久久久久三级| 国产乱人伦偷精品视频AAA| 欧美日韩中文国产va另类| 国产幂在线无码精品| 波多野结衣在线一区二区| 国产又粗又猛又爽| 欧美97色| 伦精品一区二区三区视频| 自拍偷拍欧美日韩| 蝌蚪国产精品视频第一页| 国产区人妖精品人妖精品视频| 九色国产在线| 日本爱爱精品一区二区| 天天躁日日躁狠狠躁中文字幕| 青草视频网站在线观看| 伊人久久婷婷五月综合97色| 97免费在线观看视频| 日韩久草视频| 国产区免费精品视频| 欧美亚洲一区二区三区在线| 国产00高中生在线播放| 欧美特黄一级大黄录像| 丁香婷婷综合激情| 亚洲色图欧美一区| 试看120秒男女啪啪免费| 天堂成人在线| 欧美α片免费观看| 精品国产一区二区三区在线观看| 国产福利微拍精品一区二区| 色妞永久免费视频| 欧美自慰一级看片免费| 尤物国产在线|