千鋒教育-做有情懷、有良心、有品質的職業教育機構

當前位置:首頁  >  IT面試題  >  Java面試題  >  正文

你用過單點登錄嗎?是如何實現的?

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

  1. 單點登錄概念 單點登錄SSO,說的是在一個多系統共存的環境下,用戶在一處登錄后,就不用在其他系統中登錄,也就是用戶的一次登錄能得到其他所有系統的信任

  2. 單點登錄的要點

  ①. 存儲信任; ②. 驗證信任;

你用過單點登錄嗎?是如何實現的?

  3. 實現單點登錄的三種方式

  ①. 以cookie作為憑證 最簡單的單點登錄實現方式,是使用cookie作為媒介,存放用戶憑證。 用戶登錄父應用之后,應用返回一個加密的cookie,當用戶訪問子應用的時候,攜帶上這個cookie,授權應用解密cookie進行校驗,校驗通過則登錄當前用戶。 缺點: - cookie不安全; - 通過加密可以保證安全性,但如果對方掌握了解密算法就完蛋了; - 不能跨域實現免登。

  ②. 通過JSONP實現 對于跨域問題,可以使用JSONP實現。用戶在父應用中登錄后,跟session匹配的cookie會存到客戶端中,當用戶需要登錄子應用的時候,授權應用訪問父應用提供的JSONP接口,并在請求中帶上父應用域名下的cookie,父應用接收到請求,驗證用戶的登錄狀態,返回加密的信息,子應用通過解析返回來的加密信息來驗證用戶,如果通過驗證則登錄用戶。

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

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

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

  4. 使用獨立登錄系統 一般來說,大型應用會把授權的邏輯和用戶信息的相關邏輯獨立成一個應用,稱為用戶中心。用戶中心不處理業務邏輯,只是處理用戶信息的管理以及授權給第三方應用。第三方應用需要登錄的時候,則把用戶的登錄請求轉發給用戶中心進行處理,用戶處理完畢后返回憑證,第三方應用驗證憑證,通過后就登錄用戶。

  5. sso(單點登錄)與OAuth2.0(授權)的區別?

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

  ②. OAuth2.0(授權) 解決的是服務提供方(如微信)給第三方應用授權的問題,簡稱微信登錄; 是一種具體的協議,只是為用戶資源的授權提供了一個安全的、開放的而又簡易的標準,OAuth2.0(授權)為客戶開發者開發web應用,桌面應用程序,移動應用及客廳設備提供特定的授權流程。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

相關推薦

  • JVM調優參數有哪些? 1. JVM堆設置參數 針對JVM堆的設置,一般可以通過-Xms -Xmx限定其最小、最大值,為了防止垃圾收集器在最小、最大之間收縮堆而產生額外的時間,通常把最大、最小設置為相同的值;
  • 存儲過程如何進行優化? 存儲過程是一組為了完成特定功能的SQL語句集,存儲在數據庫中,經過次編譯后再次調用不需要再次編譯,用戶通過指定存儲過程的名字并給出參數(如果該存儲過程帶有參數)來執行它。存儲過程是數據庫中的一個重要對象。
  • 常見的索引原則有哪些? 1. 選擇唯一性索引 唯一性索引的值是唯一的,可以更快速的通過該索引來確定某條記錄。2. 為經常需要排序、分組和聯合操作的字段建立索引:3. 為常作為查詢條件的字段建立索引。
  • 你用過單點登錄嗎?是如何實現的? 父應用提供一個GET方式的登錄接口A(此時的父應用接口固定,攻擊者無法去偽造),用戶通過子應用重定向連接的方式訪問這個接口,如果用戶還沒有登錄,則返回一個登錄頁面,用戶輸入賬號密碼進行登錄,如果用戶已經登錄了,則生成加密的token,并且重定向到子應用提供的驗證token...
  • 你熟悉的測試用例設計方法都有哪些? 你熟悉的測試用例設計方法都有哪些?請分別以具體的例子來說明這些方法在測試用例設計工作中的應用。 答:有黑盒和白盒兩種測試種類,黑盒有等價類劃分法,邊界分析法,因果圖法和錯誤猜測法。白盒有邏輯覆蓋法,循環測試路徑選擇,基本路徑測試。
  • 描述一下你所使用的分支策略? 功能分支(Feature branching):要素分支模型將特定要素的所有更改保留在分支內。當通過自動化測試對功能進行全面測試和驗證時,該分支將合并到主服務器中。
  • 主站蜘蛛池模板: 亚洲Av高清一区二区三区| 91福利国产在线观一区二区| 国产成人一区二区三区精品久久 | 国产在线精品观看一区| 亚洲日韩精品一区二区三区| 在线免费视频一区| 无码国产精品一区二区免费式直播 | 色婷婷亚洲一区二区三区| 91在线一区二区三区| 无码精品视频一区二区三区| 国模吧无码一区二区三区| 亚洲高清偷拍一区二区三区 | 中文字幕乱码一区二区免费| 一区二区视频在线免费观看| 国产成人综合亚洲一区| 国产乱人伦精品一区二区| 亚洲av无码一区二区三区天堂古代| 国产一区二区三区91| 久久精品一区二区三区不卡| 中文字幕在线精品视频入口一区| 精品无码综合一区| 亚洲乱码一区二区三区在线观看 | 亚洲AV无码一区二区乱孑伦AS| 岛国无码av不卡一区二区| 任你躁国产自任一区二区三区| 亚洲AⅤ无码一区二区三区在线 | 久久国产免费一区二区三区| 亚洲av不卡一区二区三区| 亚洲av无码片区一区二区三区| 亚洲性无码一区二区三区| 怡红院AV一区二区三区| 美女免费视频一区二区三区| 一区二区三区免费在线视频 | 伊人色综合网一区二区三区| 国产经典一区二区三区蜜芽| 毛片一区二区三区无码| 日本免费精品一区二区三区| 久久精品国产第一区二区| 无码人妻精品一区二区三区东京热 | 在线播放精品一区二区啪视频| 高清在线一区二区|