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

下載本文檔

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

文檔簡介

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)常有,比方我們在OA系統(tǒng)登錄了,我們就能夠直接進(jìn)入采買系統(tǒng),不需要再登錄了,這樣使我們特別方便。此刻網(wǎng)上也有好多實(shí)現(xiàn)方法,于是乎我也想寫一個看看。我主要用到的是cookie的系統(tǒng)。在此,分享給大家。進(jìn)入主題:工程說明SSO的實(shí)現(xiàn)一般是會有一個SSOServer,也會叫認(rèn)證中心,同時也會有被認(rèn)證的系統(tǒng),如OA系統(tǒng)、采買系統(tǒng)等,他們就相當(dāng)于SSOServer的client。為了更形象表現(xiàn)SSO,我寫的SSO是有三個工程:一個SSOServer端口為

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

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

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論