單點(diǎn)登陸(SSO)功能實(shí)現(xiàn)流程介紹_第1頁(yè)
單點(diǎn)登陸(SSO)功能實(shí)現(xiàn)流程介紹_第2頁(yè)
單點(diǎn)登陸(SSO)功能實(shí)現(xiàn)流程介紹_第3頁(yè)
單點(diǎn)登陸(SSO)功能實(shí)現(xiàn)流程介紹_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、單點(diǎn)登岸(SSO)功能實(shí)現(xiàn)流程介紹單點(diǎn)登岸(SSO)功能實(shí)現(xiàn)流程介紹單點(diǎn)登岸(SSO)功能實(shí)現(xiàn)流程介紹SSO單點(diǎn)登錄功能實(shí)現(xiàn)介紹SSO在我們的應(yīng)用中非經(jīng)常有,比方我們?cè)贠A系統(tǒng)登錄了,我們就能夠直接進(jìn)入采買系統(tǒng),不需要再登錄了,這樣使我們特別方便。此刻網(wǎng)上也有好多實(shí)現(xiàn)方法,于是乎我也想寫一個(gè)看看。我主要用到的是cookie的系統(tǒng)。在此,分享給大家。進(jìn)入主題:工程說(shuō)明SSO的實(shí)現(xiàn)一般是會(huì)有一個(gè)SSOServer,也會(huì)叫認(rèn)證中心,同時(shí)也會(huì)有被認(rèn)證的系統(tǒng),如OA系統(tǒng)、采買系統(tǒng)等,他們就相當(dāng)于SSOServer的client。為了更形象表現(xiàn)SSO,我寫的SSO是有三個(gè)工程:一個(gè)SSOServer端口為

2、8081,一個(gè)OA系統(tǒng)端口為8082,一個(gè)采買系統(tǒng)端口為8083。如圖:流程介紹在整個(gè)SSO流程當(dāng),有兩個(gè)流程特別重要,第一個(gè)是用戶沒(méi)有登錄系統(tǒng)到登錄系統(tǒng)的過(guò)程;第二是用戶在一個(gè)系統(tǒng)中間已經(jīng)登錄(比方在OA系統(tǒng)中登錄了),但又想進(jìn)入另一個(gè)系統(tǒng)(比方進(jìn)入PRO系統(tǒng))的過(guò)程,假如把這兩個(gè)過(guò)程搞定了,那么SSO也就搞定了。我畫(huà)了兩幅圖來(lái)說(shuō)明這兩個(gè)過(guò)程。先看用戶沒(méi)有登錄系統(tǒng)到登錄系統(tǒng)的過(guò)程,如圖:1:用戶經(jīng)過(guò)URL接見(jiàn)OA系統(tǒng)。2:在OA系統(tǒng)中的filter發(fā)現(xiàn)這個(gè)URL沒(méi)有ticket(你暫時(shí)就把ticket看做是門票),此時(shí)就會(huì)跳轉(zhuǎn)到SSOServer。3:SSOServer中的filter發(fā)現(xiàn)該

3、客戶端中的cookie中沒(méi)有相應(yīng)信息,也即是一個(gè)沒(méi)有登錄的用戶,那么會(huì)跳轉(zhuǎn)到登錄頁(yè)面。4:用戶在登錄頁(yè)面填寫相應(yīng)信息,此后經(jīng)過(guò)post方式提交到SSOServer中。5:SSOServer會(huì)校驗(yàn)用戶信息(我為了快,我的校驗(yàn)方式就是要用戶名為:cloud,同時(shí)密碼為:cloud),同時(shí)在cookie中放username。6:將生成ticket和username放到JVMCache中,在實(shí)質(zhì)項(xiàng)目應(yīng)當(dāng)放到Memcached中,它的用途等下分析。7,8:就是在用戶接見(jiàn)OA系統(tǒng)的URL基礎(chǔ)上加上了一個(gè)ticket參數(shù),這樣跳轉(zhuǎn)到OA系統(tǒng)。(此時(shí)進(jìn)入OA系統(tǒng)時(shí),filter發(fā)現(xiàn)URL是帶ticket的,則

4、filter會(huì)依據(jù)帶過(guò)來(lái)的ticket并經(jīng)過(guò)HttpClient的形式去調(diào)用SSOServer中的TicektServlet,這樣就會(huì)返回用戶名,其實(shí)這個(gè)用戶名就是從JVMCache拿到的,同時(shí)立刻將這個(gè)ticket從JVMCache中移除,這樣保證一個(gè)ticket只會(huì)用一次,此后把返回的用戶名放到session中)9:session中有了用戶名,說(shuō)明用戶登錄成功了,則會(huì)去本應(yīng)當(dāng)返問(wèn)的servlet。10,11:將OA系統(tǒng)返回的視圖給用戶。第二過(guò)程,用戶已經(jīng)登錄成功了,但要接見(jiàn)另一個(gè)系統(tǒng),如圖:1:用戶經(jīng)過(guò)URL接見(jiàn)PRO系統(tǒng)。2:在PRO系統(tǒng)中的filter發(fā)現(xiàn)這個(gè)URL沒(méi)有ticket,此

5、時(shí)就會(huì)跳轉(zhuǎn)到SSOServer。此時(shí),因?yàn)橛脩舻卿浟耍虼薱ookie中有相應(yīng)的信息(比方用戶名),此時(shí)SSOServer中的filter會(huì)生成一個(gè)ticket。3:將生成的ticket和username放到JVMCache中。4:就是在用戶接見(jiàn)PRO系統(tǒng)的URL基礎(chǔ)上加上了一個(gè)ticket參數(shù),這樣跳轉(zhuǎn)到PRO系統(tǒng)。(此時(shí)進(jìn)入PRO系統(tǒng)時(shí),filter發(fā)現(xiàn)URL是帶ticket的,則filter會(huì)依據(jù)帶過(guò)來(lái)的ticket并經(jīng)過(guò)HttpClient的形式去調(diào)用SSOServer中的TicektServlet,這樣就會(huì)返回用戶名,其實(shí)這個(gè)用戶名就是從JVMCache拿到的,同時(shí)立刻將這個(gè)ticket從JVMCache中移除,這樣保證一個(gè)ticket只會(huì)用一次,此后把返回的用戶名放到session中)5:session中有了用戶名,說(shuō)明用戶登錄成功了,則會(huì)去本應(yīng)當(dāng)返問(wèn)的5,7:將PRO系統(tǒng)返回的視圖給用戶。servlet。內(nèi)容總結(jié)(1)SSO單點(diǎn)登錄功能實(shí)現(xiàn)介紹SSO在我們的應(yīng)用中非經(jīng)常有,比方我們?cè)贠A系統(tǒng)登錄了,我們就能夠直接進(jìn)入采買系統(tǒng),不需要再

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論