• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于CAS單點(diǎn)登錄系統(tǒng)的研究與改進(jìn)

      2017-03-28 09:40:44楊金文仲偉和遼寧錦州遼寧工業(yè)大學(xué)
      數(shù)碼世界 2017年3期
      關(guān)鍵詞:用戶名單點(diǎn)密碼

      楊金文 仲偉和 遼寧錦州遼寧工業(yè)大學(xué)

      基于CAS單點(diǎn)登錄系統(tǒng)的研究與改進(jìn)

      楊金文 仲偉和 遼寧錦州遼寧工業(yè)大學(xué)

      隨著社會(huì)的多元化,公司的企業(yè)文化越來(lái)越豐富,需要的應(yīng)用系統(tǒng)也越來(lái)越多。不斷增多的應(yīng)用系統(tǒng)雜亂無(wú)章,用戶在各個(gè)系統(tǒng)之間重復(fù)驗(yàn)證自己的身份信息,公司的管理也變得越來(lái)越復(fù)雜。提出單點(diǎn)登錄的概念來(lái)解決企業(yè)現(xiàn)在面臨的問(wèn)題。介紹了單點(diǎn)登錄的基本原理,提出了以企業(yè)人事管理系統(tǒng)為基礎(chǔ)的統(tǒng)一用戶存儲(chǔ)的方式。在統(tǒng)一存儲(chǔ)用戶的基礎(chǔ)上提出了統(tǒng)一授權(quán)、集中認(rèn)證的思想。分析了CAS單點(diǎn)登錄的原理及不足,針對(duì)這些不足提出了改進(jìn)的方法。

      單點(diǎn)登錄 統(tǒng)一授權(quán) 集中認(rèn)證 CAS

      隨著網(wǎng)絡(luò)不斷發(fā)展,經(jīng)濟(jì)不斷提高。許多公司開(kāi)始增加自己的業(yè)務(wù)類型,提高服務(wù)標(biāo)準(zhǔn),因此公司就要開(kāi)始不斷地增加各種應(yīng)用系統(tǒng)來(lái)滿足業(yè)務(wù)上的需求,由于各個(gè)應(yīng)用系統(tǒng)的開(kāi)發(fā)時(shí)間、開(kāi)發(fā)技術(shù)以及使用的工具有的都不相同,這樣就給公司的管理帶來(lái)了很大的麻煩。

      單點(diǎn)登錄系統(tǒng)的概念應(yīng)運(yùn)而生,SSO描述的情況就是,當(dāng)用戶正在訪問(wèn)一個(gè)應(yīng)用系統(tǒng)時(shí)又想訪問(wèn)另一個(gè)應(yīng)用系統(tǒng),不需要對(duì)用戶進(jìn)行第二次身份認(rèn)證,如果這個(gè)系統(tǒng)已經(jīng)授權(quán)給了該用戶,那么這個(gè)用戶在有效期內(nèi)就可以直接訪問(wèn),不需要重復(fù)的認(rèn)證登錄。

      1 身份認(rèn)證

      單點(diǎn)登錄的主要工作就是要確定用戶是否具有訪問(wèn)應(yīng)用系統(tǒng)的權(quán)限,從狹義上講單點(diǎn)登錄就是統(tǒng)一用戶認(rèn)證,然而統(tǒng)一身份認(rèn)證是以統(tǒng)一用戶管理為基礎(chǔ)的。

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

      對(duì)于一個(gè)公司來(lái)說(shuō),每個(gè)業(yè)務(wù)模塊設(shè)計(jì)的時(shí)期不同,導(dǎo)致設(shè)計(jì)的方式、技術(shù)以及具體的用戶信息存儲(chǔ)方式都不一樣。要想實(shí)現(xiàn)單點(diǎn)登錄,第一個(gè)難題就是怎樣使這些用戶的信息同步起來(lái)。所以提出了統(tǒng)一用戶管理的方法,把用戶的信息和公司的人事系統(tǒng)中的用戶信息結(jié)合起來(lái),能夠保證用戶信息數(shù)出一源。以人事管理系統(tǒng)的用戶信息為基礎(chǔ),結(jié)合業(yè)務(wù)的實(shí)際對(duì)用戶信息進(jìn)行統(tǒng)一存儲(chǔ)。

      提出了訂閱/發(fā)布的模式基于人事系統(tǒng)上保證了用戶的統(tǒng)一。當(dāng)人事系統(tǒng)發(fā)生改變時(shí)會(huì)通知訂閱者接收消息。提出了三種解決方案,可以采用ETL、ESB。

      ETL是基于軟件下把數(shù)據(jù)從來(lái)源端經(jīng)過(guò)extract(抽取)、transform(轉(zhuǎn)換)、load(加載)一系列操作送到目的端的過(guò)程。用戶從數(shù)據(jù)源中extract(抽取)需要的數(shù)據(jù),經(jīng)過(guò)transform(轉(zhuǎn)換),最終按照數(shù)據(jù)倉(cāng)庫(kù)模型把需要的數(shù)據(jù)load(加載)到目標(biāo)數(shù)據(jù)庫(kù)中去。

      ESB它是XML、Web服務(wù)Web Service等技術(shù)與傳統(tǒng)中間件技術(shù)結(jié)合的產(chǎn)物。ESB提供了最基本的網(wǎng)絡(luò)連接中樞。ESB的改變了傳統(tǒng)的軟件架構(gòu),可以提供一種更為廉價(jià)的解決方案,消除了不同應(yīng)用之間的技術(shù)差異,可以讓不同的應(yīng)用服務(wù)器協(xié)調(diào)運(yùn)作,實(shí)現(xiàn)了不同服務(wù)之間的通信與整合。

      對(duì)于已有的應(yīng)用系統(tǒng)當(dāng)中存儲(chǔ)的用戶的信息有可能與人事系統(tǒng)當(dāng)中的并不是完全相同,要做到用戶統(tǒng)一且不改變?cè)到y(tǒng),為了在在單點(diǎn)登錄系統(tǒng)中可以很好的實(shí)現(xiàn)用戶的統(tǒng)一認(rèn)證,可以把用戶的信息存儲(chǔ)在一張數(shù)據(jù)庫(kù)表中,在他們之間建立關(guān)聯(lián)關(guān)系。

      1.2 統(tǒng)一授權(quán)

      不管是在普通的系統(tǒng)當(dāng)中還是在單點(diǎn)登錄系統(tǒng)當(dāng)中,只要有用戶,就會(huì)有權(quán)限,系統(tǒng)中的資源不會(huì)對(duì)所有的用戶都開(kāi)放也不會(huì)將所有資源都提供給用戶。一個(gè)系統(tǒng)會(huì)有許多用戶,如果具體為每個(gè)用戶設(shè)置權(quán)限,將會(huì)是一個(gè)漫長(zhǎng)的工作。因此我們需要將用戶統(tǒng)一起來(lái),集中授權(quán)。為管理員帶來(lái)了方便,同時(shí)也提高了系統(tǒng)的安全性。我們采用的是基于角色的授權(quán)方式。根據(jù)權(quán)限確定了許多角色,然后將角色分配給用戶,用戶與權(quán)限不存在任何關(guān)系,這時(shí)候如果用戶的權(quán)限發(fā)生變化,只需要修改用戶的角色就可以。這種方式大大提高了工作效率,如果一個(gè)員工從普通職員升職為經(jīng)理,那么我們只需要將分配給該用戶的角色從職員修改成經(jīng)理就可以了,不需要關(guān)心它具體哪些權(quán)限發(fā)生了改變,因?yàn)檫@些權(quán)限已經(jīng)在角色設(shè)定時(shí)分配好了。這樣不僅方便了管理,提高了工作效率,同時(shí)也大大降低了開(kāi)銷。

      1.3 統(tǒng)一身份認(rèn)證

      隨著網(wǎng)絡(luò)不斷的發(fā)展,用戶的需求不斷增多,公司的應(yīng)用系統(tǒng)越來(lái)越多,導(dǎo)致用戶和密碼的管理越來(lái)越復(fù)雜。對(duì)用戶實(shí)現(xiàn)了統(tǒng)一存儲(chǔ),就可以對(duì)這些用戶進(jìn)行統(tǒng)一的身份認(rèn)證。這樣將提高系統(tǒng)的安全性。

      統(tǒng)一身份認(rèn)證就是當(dāng)用戶登錄到一個(gè)應(yīng)用系統(tǒng)后想要登錄到另一個(gè)應(yīng)用系統(tǒng)時(shí)不需要重復(fù)驗(yàn)證自己的身份信息,直接就可以登錄到所有被授權(quán)的應(yīng)用系統(tǒng)。采用了統(tǒng)一身份認(rèn)證之后用戶不需要記住那么多用戶名密碼,減少了找回密碼次數(shù)的同時(shí)也提高了安全性。將所有分散的用戶集中起來(lái)統(tǒng)一的存儲(chǔ),這樣就可以對(duì)所有的用戶進(jìn)行集中的管理和認(rèn)證。

      2 單點(diǎn)登錄模型

      2.1 CAS協(xié)議的單點(diǎn)登錄方案

      CAS(Central Authentication Service)是Yale大學(xué)開(kāi)發(fā)的一個(gè)基于企業(yè)的,而且是開(kāi)源的項(xiàng)目,主要就是為Web應(yīng)用提供一種安全的SSO方法(屬于Web SSO)。CAS不僅是一種開(kāi)源的、支持多協(xié)議的、具有高可靠性、安全性的一種SSO方案,而且還可以支持多種認(rèn)證機(jī)制和多種客戶端,保證了SSO服務(wù)的優(yōu)越性。CAS在結(jié)構(gòu)體系上由CAS Server和CAS Client兩部分構(gòu)成,其中CAS Server主要是對(duì)用戶的身份進(jìn)行認(rèn)證,并且需要獨(dú)立部署,CAS Server處理需要認(rèn)證的用戶名和密碼等安全憑證。而CAS Client主要處理的是客戶端的請(qǐng)求,如果客戶端請(qǐng)求的是受保護(hù)的資源的時(shí)候,這時(shí)候就需要認(rèn)證訪問(wèn)者的身份,那么就要重定向到CAS Server進(jìn)行認(rèn)證。

      2.2 CAS單點(diǎn)登錄方案的改進(jìn)

      2.2.1 CAS單點(diǎn)登錄方案安全性的改進(jìn)

      在CAS Server端和人事管理系統(tǒng)進(jìn)行交互的時(shí)候?qū)τ脩舻男畔⒖赡茉斐尚孤?,決定在加入Kerberos的身份認(rèn)證機(jī)制。

      采用Kerberos V5作為安全機(jī)制,Kerberos V5是對(duì)具有網(wǎng)絡(luò)通信的雙方進(jìn)行相互的身份認(rèn)證,由Client(客戶端)、服務(wù)器端、KDC(Key Distribution Center,密鑰分配中心)、認(rèn)證服務(wù)器、票據(jù)分配服務(wù)器、票據(jù)、時(shí)間戳等構(gòu)成,采用的加密機(jī)制是對(duì)稱密鑰算法。

      加入Kerberos認(rèn)證機(jī)制后可以很好的保證CAS Server和數(shù)據(jù)庫(kù)進(jìn)行交互的安全問(wèn)題。加上Kerberos本身就和CAS很相似,不論是在構(gòu)成上還是在票據(jù)的使用上都存在相同的含義。而且CAS在開(kāi)發(fā)的時(shí)候,研發(fā)人員就將CAS的安全機(jī)制采用了可插入的方式,對(duì)預(yù)留的密碼處理接口進(jìn)行擴(kuò)展,就可以很好的將Kerberos的認(rèn)證方式加入到CAS當(dāng)中,重新創(chuàng)建一個(gè)類來(lái)完成密碼的驗(yàn)證問(wèn)題。

      2.2.2 B/S架構(gòu)下CAS單點(diǎn)登錄方案的改進(jìn)

      B/S架構(gòu)即瀏覽器和服務(wù)器模式的結(jié)構(gòu)。隨著Internet技術(shù)的不斷興起,B/S架構(gòu)越來(lái)越流行。常見(jiàn)B/S架構(gòu)的應(yīng)用系統(tǒng)大致有兩種,一種是完全符合CAS協(xié)議可以共用證書(shū)的系統(tǒng),一種是不符合CAS協(xié)議無(wú)法共用證書(shū)的系統(tǒng)。

      對(duì)于符合CAS協(xié)議的系統(tǒng),可以完全按照CAS單點(diǎn)登錄方案,可以運(yùn)用CAS的證書(shū),這種標(biāo)準(zhǔn)單點(diǎn)登錄的登錄頁(yè)面是由單點(diǎn)登錄系統(tǒng)統(tǒng)一提供。

      對(duì)于已經(jīng)投入使用且無(wú)法共用證書(shū)的系統(tǒng),每個(gè)系統(tǒng)都自定義了登錄頁(yè)面,可以采用偽登錄的方式代理用戶登錄。在原有系統(tǒng)的登錄頁(yè)面和CAS認(rèn)證服務(wù)器之間加入HttpClient了中間過(guò)程,具體的步驟如下:

      ①在用戶請(qǐng)求登錄時(shí)首先利用HttpClient Get方法嘗試獲取一個(gè)頁(yè)面,判斷該用戶是否已經(jīng)登錄。如果返回的內(nèi)容就是用戶所訪問(wèn)的頁(yè)面,則說(shuō)明用戶已經(jīng)成功登錄過(guò),用戶可以直接訪問(wèn)資源,不需要再次提交認(rèn)證信息;否則說(shuō)明用戶沒(méi)有登錄過(guò),需要執(zhí)行②,向認(rèn)證服務(wù)器提交認(rèn)證信息。

      ②將用戶在登錄頁(yè)面輸入的用戶名和密碼連同必要的Cookie信息傳輸?shù)紺AS認(rèn)證服務(wù)器,認(rèn)證服務(wù)器會(huì)向數(shù)據(jù)庫(kù)查詢用戶的信息是否合法。如果出現(xiàn)登錄的用戶名和SSO登錄系統(tǒng)的用戶名不一致的情況,則系統(tǒng)會(huì)根據(jù)數(shù)據(jù)關(guān)聯(lián)表查詢用戶的信息。如果用戶的信息合法,用戶登錄成功。

      該解決方案的優(yōu)點(diǎn)在于其靈活性以及適用性,可以有效地解決用戶登錄界面不統(tǒng)一的問(wèn)題。

      2.2.3 C/S架構(gòu)下CAS單點(diǎn)登錄方案的改進(jìn)

      C/S結(jié)構(gòu)又稱Client/Server(客戶端、服務(wù)器)模式,通過(guò)把任務(wù)合理分配給客戶端和服務(wù)器端,大大降低了系統(tǒng)的通訊開(kāi)銷,但是必須在安裝客戶端的前提下才可以進(jìn)行管理操作。針對(duì)C/S架構(gòu)的應(yīng)用程序主要可以分為需要輸入用戶名和密碼的系統(tǒng)、不需要輸入用戶名和密碼的系統(tǒng)兩種形式。

      針對(duì)不要用戶名和密碼的系統(tǒng),可以直接打開(kāi),不需要驗(yàn)證用戶的身份信息,屬于完全開(kāi)放的系統(tǒng)。

      而對(duì)于需要用戶名和密碼的系統(tǒng),同樣也提供了一個(gè)代理登的中間件,利用窗體接收命令行參數(shù)進(jìn)行自動(dòng)登錄。同樣在用戶請(qǐng)求登錄時(shí),首先會(huì)判斷用戶是否成功登錄過(guò),如果登錄過(guò)以后就可以之間訪問(wèn)請(qǐng)求的資源。如果第一次登錄,那么需要在登錄界面輸入認(rèn)證信息,如用戶名和密碼。中間件會(huì)獲取到用戶的認(rèn)證信息,利用窗體接收命令行參數(shù)模擬登錄,此時(shí)用戶的認(rèn)證信息被送到認(rèn)證服務(wù)器中,驗(yàn)證用戶的認(rèn)證信息是否合法,如果合法,則用戶成功登錄。

      3 結(jié)語(yǔ)

      對(duì)于用戶的管理提出了以人事管理系統(tǒng)為基礎(chǔ),采用ETL、ESB、Web service等方法為人事管理系統(tǒng)和單點(diǎn)登錄系統(tǒng)之間實(shí)現(xiàn)數(shù)據(jù)的傳輸。針對(duì)CAS單點(diǎn)登錄系統(tǒng)的不足,提出了改進(jìn)方案,將CAS和Kerberos認(rèn)證機(jī)制結(jié)合起來(lái),保證了CAS與數(shù)據(jù)庫(kù)進(jìn)行信息交互的時(shí)的安全問(wèn)題。對(duì)不同的系統(tǒng)架構(gòu)給出了不同的修改意見(jiàn),使單點(diǎn)登錄系統(tǒng)有針對(duì)性的為企業(yè)的系統(tǒng)服務(wù)。

      [1]畢曉彬.基于CAS認(rèn)證體系的電子商務(wù)探討與研究.科技信息,2010,5(8):628-629

      [2]張鐵頭,馬麗霞.使用HttpClient實(shí)現(xiàn)基于WEB第三方登錄驗(yàn)證.電腦知識(shí)與技術(shù),2012,8(12):2779-2780

      猜你喜歡
      用戶名單點(diǎn)密碼
      《護(hù)士進(jìn)修雜志》投稿程序
      密碼里的愛(ài)
      密碼疲勞
      歷元間載波相位差分的GPS/BDS精密單點(diǎn)測(cè)速算法
      超薄異型坯連鑄機(jī)非平衡單點(diǎn)澆鑄實(shí)踐與分析
      山東冶金(2019年5期)2019-11-16 09:09:10
      機(jī)智的快遞員
      數(shù)字電視地面?zhèn)鬏斢脝晤l網(wǎng)與單點(diǎn)發(fā)射的效果比較
      密碼藏在何處
      16噸單點(diǎn)懸掛平衡軸的優(yōu)化設(shè)計(jì)
      奪命密碼
      滁州市| 凤城市| 湾仔区| 友谊县| 新营市| 于田县| 军事| 辉南县| 沁阳市| 金昌市| 扎囊县| 沙雅县| 从江县| 吉木乃县| 瓦房店市| 漳平市| 荆州市| 裕民县| 张家川| 张北县| 绥棱县| 绥中县| 灌云县| 天镇县| 泊头市| 呼和浩特市| 旬邑县| 肇源县| 黔南| 灌南县| 镇沅| 祁东县| 沙田区| 西安市| 湘潭市| 义马市| 曲麻莱县| 曲周县| 新河县| 聊城市| 新晃|