欧美经典日韩精品_日韩高清亚洲日韩精品一区_日韩精品无码综合视频网_国产v亚洲v天堂?无码久久_中文字幕免费无码专区

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

當(dāng)前位置:首頁  >  IT面試題  >  Java面試題  >  正文

你用過單點(diǎn)登錄嗎?是如何實(shí)現(xiàn)的?

來源:千鋒教育
作者:wjy
關(guān)鍵詞: 北京 大連
2022-09-26
分享

  1. 單點(diǎn)登錄概念 單點(diǎn)登錄SSO,說的是在一個(gè)多系統(tǒng)共存的環(huán)境下,用戶在一處登錄后,就不用在其他系統(tǒng)中登錄,也就是用戶的一次登錄能得到其他所有系統(tǒng)的信任

  2. 單點(diǎn)登錄的要點(diǎn)

  ①. 存儲(chǔ)信任; ②. 驗(yàn)證信任;

你用過單點(diǎn)登錄嗎?是如何實(shí)現(xiàn)的?

  3. 實(shí)現(xiàn)單點(diǎn)登錄的三種方式

  ①. 以cookie作為憑證 最簡單的單點(diǎn)登錄實(shí)現(xiàn)方式,是使用cookie作為媒介,存放用戶憑證。 用戶登錄父應(yīng)用之后,應(yīng)用返回一個(gè)加密的cookie,當(dāng)用戶訪問子應(yīng)用的時(shí)候,攜帶上這個(gè)cookie,授權(quán)應(yīng)用解密cookie進(jìn)行校驗(yàn),校驗(yàn)通過則登錄當(dāng)前用戶。 缺點(diǎn): - cookie不安全; - 通過加密可以保證安全性,但如果對(duì)方掌握了解密算法就完蛋了; - 不能跨域?qū)崿F(xiàn)免登。

  ②. 通過JSONP實(shí)現(xiàn) 對(duì)于跨域問題,可以使用JSONP實(shí)現(xiàn)。用戶在父應(yīng)用中登錄后,跟session匹配的cookie會(huì)存到客戶端中,當(dāng)用戶需要登錄子應(yīng)用的時(shí)候,授權(quán)應(yīng)用訪問父應(yīng)用提供的JSONP接口,并在請(qǐng)求中帶上父應(yīng)用域名下的cookie,父應(yīng)用接收到請(qǐng)求,驗(yàn)證用戶的登錄狀態(tài),返回加密的信息,子應(yīng)用通過解析返回來的加密信息來驗(yàn)證用戶,如果通過驗(yàn)證則登錄用戶。

  缺點(diǎn): - 這種方法雖然能解決跨域問題,但是治標(biāo)不治本,沒有解決cookie安全性的問題。

  ③. 通過頁面重定向的方式 最后一種介紹的方式,是通過父應(yīng)用和子應(yīng)用來回重定向進(jìn)行通信,實(shí)現(xiàn)信息的安全傳遞。 父應(yīng)用提供一個(gè)GET方式的登錄接口A(此時(shí)的父應(yīng)用接口固定,攻擊者無法去偽造),用戶通過子應(yīng)用重定向連接的方式訪問這個(gè)接口,如果用戶還沒有登錄,則返回一個(gè)登錄頁面,用戶輸入賬號(hào)密碼進(jìn)行登錄,如果用戶已經(jīng)登錄了,則生成加密的token,并且重定向到子應(yīng)用提供的驗(yàn)證token的接口B(此時(shí)的子應(yīng)用接口固定,攻擊者無法去偽造),通過解密和校驗(yàn)之后,子應(yīng)用登錄當(dāng)前用戶。

  缺點(diǎn): - 這種方式較前面的兩種方式,是解決了安全性和跨域的問題,但是并沒有前面兩種方式簡單,安全與方便,本來就是矛盾的。

  4. 使用獨(dú)立登錄系統(tǒng) 一般來說,大型應(yīng)用會(huì)把授權(quán)的邏輯和用戶信息的相關(guān)邏輯獨(dú)立成一個(gè)應(yīng)用,稱為用戶中心。用戶中心不處理業(yè)務(wù)邏輯,只是處理用戶信息的管理以及授權(quán)給第三方應(yīng)用。第三方應(yīng)用需要登錄的時(shí)候,則把用戶的登錄請(qǐng)求轉(zhuǎn)發(fā)給用戶中心進(jìn)行處理,用戶處理完畢后返回憑證,第三方應(yīng)用驗(yàn)證憑證,通過后就登錄用戶。

  5. sso(單點(diǎn)登錄)與OAuth2.0(授權(quán))的區(qū)別?

  ①. sso(單點(diǎn)登錄) 通常處理的是一個(gè)公司的不同應(yīng)用間的訪問登錄問題,如企業(yè)應(yīng)用有很多子系統(tǒng),只需登錄一個(gè)系統(tǒng),就可以實(shí)現(xiàn)不同子系統(tǒng)間的跳轉(zhuǎn),而避免了登錄操作; 通過cookie、jsonp、重定向來實(shí)現(xiàn);

  ②. OAuth2.0(授權(quán)) 解決的是服務(wù)提供方(如微信)給第三方應(yīng)用授權(quán)的問題,簡稱微信登錄; 是一種具體的協(xié)議,只是為用戶資源的授權(quán)提供了一個(gè)安全的、開放的而又簡易的標(biāo)準(zhǔn),OAuth2.0(授權(quán))為客戶開發(fā)者開發(fā)web應(yīng)用,桌面應(yīng)用程序,移動(dòng)應(yīng)用及客廳設(shè)備提供特定的授權(quán)流程。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

學(xué)習(xí)資源站

  • 免費(fèi)全套視頻教程
  • 企業(yè)實(shí)戰(zhàn)項(xiàng)目源碼
  • 大廠筆試真題題庫
  • 行業(yè)前瞻發(fā)展趨勢

相關(guān)推薦

  • JVM調(diào)優(yōu)參數(shù)有哪些? 1. JVM堆設(shè)置參數(shù) 針對(duì)JVM堆的設(shè)置,一般可以通過-Xms -Xmx限定其最小、最大值,為了防止垃圾收集器在最小、最大之間收縮堆而產(chǎn)生額外的時(shí)間,通常把最大、最小設(shè)置為相同的值;
  • 存儲(chǔ)過程如何進(jìn)行優(yōu)化? 存儲(chǔ)過程是一組為了完成特定功能的SQL語句集,存儲(chǔ)在數(shù)據(jù)庫中,經(jīng)過次編譯后再次調(diào)用不需要再次編譯,用戶通過指定存儲(chǔ)過程的名字并給出參數(shù)(如果該存儲(chǔ)過程帶有參數(shù))來執(zhí)行它。存儲(chǔ)過程是數(shù)據(jù)庫中的一個(gè)重要對(duì)象。
  • 常見的索引原則有哪些? 1. 選擇唯一性索引 唯一性索引的值是唯一的,可以更快速的通過該索引來確定某條記錄。2. 為經(jīng)常需要排序、分組和聯(lián)合操作的字段建立索引:3. 為常作為查詢條件的字段建立索引。
  • 你用過單點(diǎn)登錄嗎?是如何實(shí)現(xiàn)的? 父應(yīng)用提供一個(gè)GET方式的登錄接口A(此時(shí)的父應(yīng)用接口固定,攻擊者無法去偽造),用戶通過子應(yīng)用重定向連接的方式訪問這個(gè)接口,如果用戶還沒有登錄,則返回一個(gè)登錄頁面,用戶輸入賬號(hào)密碼進(jìn)行登錄,如果用戶已經(jīng)登錄了,則生成加密的token,并且重定向到子應(yīng)用提供的驗(yàn)證token...
  • 你熟悉的測試用例設(shè)計(jì)方法都有哪些? 你熟悉的測試用例設(shè)計(jì)方法都有哪些?請(qǐng)分別以具體的例子來說明這些方法在測試用例設(shè)計(jì)工作中的應(yīng)用。 答:有黑盒和白盒兩種測試種類,黑盒有等價(jià)類劃分法,邊界分析法,因果圖法和錯(cuò)誤猜測法。白盒有邏輯覆蓋法,循環(huán)測試路徑選擇,基本路徑測試。
  • 描述一下你所使用的分支策略? 功能分支(Feature branching):要素分支模型將特定要素的所有更改保留在分支內(nèi)。當(dāng)通過自動(dòng)化測試對(duì)功能進(jìn)行全面測試和驗(yàn)證時(shí),該分支將合并到主服務(wù)器中。