SSO(單點登錄)與旅游年卡

来源:http://www.cnblogs.com/longtushen/archive/2017/07/19/7206004.html
-Advertisement-
Play Games

SSO英文全稱Single Sign On,單點登錄。SSO是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。它包括可以將這次主要的登錄映射到其他應用中用於同一個用戶的登錄的機制。它是目前比較流行的企業業務整合的解決方案之一。 ...


  SSO(單點登錄)與旅游年卡

  SSO英文全稱Single Sign On,單點登錄。SSO是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。它包括可以將這次主要的登錄映射到其他應用中用於同一個用戶的登錄的機制。它是目前比較流行的企業業務整合的解決方案之一。(來自百度百科)

  旅游年卡:一次辦卡,多個景點游玩。避免了每個景點排隊買票浪費時間影響心情。

  我喜歡逛,07年廣州一行讓我愛上了旅行。十年間轉戰祖國大江南北。東到浙江蘇州上海,南到廣東珠海澳門,西到宜昌長江三峽,北到首都長城山海關。經常說的一句話,歷史上的雲游詩人作家什麼的,到現在是寫不出那些膾炙人口的詩詞作曲的。為啥?全都圈起來收費啦。這些年去過得地方火車票和門票都是厚厚的一扎。

   

  好了,話回正題。SSO與旅游年卡有什麼關係呢?上面已經說過了他們兩個的各自的作用。他們有什麼共同點呢?一次,都只需要一次。單點登錄一次登錄,就可以訪問多個互相信任的應用系統,而不需要用戶訪問每個應用系統的時候都登錄一次。旅游年卡一次開卡,就可以游玩多個授權的景點,而不需要游客到每個景點大門都排隊買票。省錢省事省時,你說爽不爽。

  然而,在網上看了很多老司機寫的SSO單點登錄的原理與實現,都很難一下子明白(我是最業餘的程式員)。無意看到去游玩時的照片,想起每次都是用旅游年卡去游玩,立馬想到哎嘛這不就是單點登錄麽?到植物園門口"滴"一下就進去了;到動物園門口“滴”一下就進去了;到海洋館“滴”一下就進去了……其實,在SSO登錄後再訪問別的應用系統,也有一個“滴”的過程,只是這個過程太快。我們根本看不到而已。

   

  下麵,我就帶著大家一起在SSO的世界里旅游吧。

  首先,要登錄系統必須要有一個賬號,要旅游必須要有一個年卡。

  其次,要訪問不同的應用系統必須得在其中一個系統中發起登錄。同樣,要使用旅游年卡,必須在其中一個景點開卡(錄指紋、激活)。

  然後,SSO伺服器會對賬號密碼進行校驗,如果校驗成功,會將登錄用戶信息存放到一個tokey中,並返回到請求的應用系統中。

    比如,有三個應用系統:博客園(www.cnblogs.com)、植物園(www.zhiwuyuan.com)、動物園(www.dongwuyuan.com)。(搞定了跨域,那其他的都不是問題)不要問我為什麼一上來就搞跨域,我就問你不跨域你幹嘛要用SSO?

    另外還有一個SSO登錄驗證系統(www.sso.com)。

    好,現在我要去博客園看猴子(www.cnblogs.com/monkey),啊。需要登錄。。。biu,頁面跳轉到SSO登錄頁(www.sso.com/login?url=www.cnblogs.com/monkey)。

    輸入賬號、密碼(年卡刷卡驗指紋)。登錄成功,好,給你帶上令牌(token)再回去(www.cnblogs.com/monkey?token=猴子看到不咬你)。來到博客園的猴山,發現不少程式猿。一個個眼紅睚眥的瞪著你。突然,猴王看到你胸前掛著的令牌(token=猴子看到不咬你)。微笑著向你打起了招呼:哎呀,快看。是同類耶……於是你就在博客園跟猴子們愉快的玩耍了半天。

    吃過午飯,你又想去植物園逛逛。於是打開了(www.zhiwuyuan.com)。把你手中的令牌(年卡)遞給了園丁大叔,園丁大叔拿著你的令牌“biu”的一下跑到驗證系統驗證你是否登錄(www.sso.com/login?url=www.zhiwuyuan.com&token=猴子看到不咬你),系統:咦,這不是猴子看到不咬你麽。好、驗證通過。然後又“biu”的一下跑回來,而這時候你的眼睛還沒有眨一下。然後大叔向你打開了植物園的大門。植物們看到你胸前的令牌,都不害怕了,爭相開放著鮮艷的花朵,散髮出迷猴、啊不、迷人的芬芳。

  到了晚上,你還想去動物園看看菜鳥,於是你就帶著令牌出發了……

  就這樣愉快的玩了一天,第二天,你要出差了,也不知道要去多久。於是你就告訴博客園:博博,我要走了,別再記著我了。博客園聽到此話,biu的一下跑到驗證系統(www.sso.com/logout?token=猴子看到不咬你),驗證系統從記錄中刪除猴子看到不咬你對應的信息。並且告訴你:安心的去吧,下次再來猴子看到會咬你的哦。(旅游年卡註銷)而後你再拿著猴子看到不咬你的令牌到植物園人家就不給你開門了。因為(www.sso.com/login?url=www.zhiwuyuan.com&token=猴子看到不咬你)猴子看到不咬你已經不存在了。

  我們知道旅游年卡一般都是有有效期的(通常為一年),同樣。SSO登錄驗證也是有有效期的,這個可以根據系統設置。如果在這個有效期內用戶沒有主動退出,則一直到過這個有效期,再訪問應用系統則需要重新登錄(旅游年卡則需要重新激活)。而到下一次再訪問登錄時,SSO驗證系統會給你一個新的(token=猩猩看到不咬你)令牌。(旅游年卡會給你一個新的有效期起止時間),然而賬號密碼(年卡、指紋)還是不變的。

   

  好了,這篇文章只講了SSO相關的思路,並沒有講具體的實現與邏輯處理。權當拋磚引玉了。歡迎拍磚。

  (完)


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一) 數組: 1) 數組的長度和類型固定 2) 幾大要素: int[] arr = new int[5]; 下標(數組的下標從0開始) 元素:arr[i] i>=0&&i<5 類型,此處為int型 長度,查看數組長度arr.length,此處為5 二) 數組中兩大基本概念:棧-堆 1、本質區別: 數 ...
  • 註意:本教程使用的開發環境是:(專業版) 1 創建javaSE項目 1.1 file -> new -> project 註意:如果是第一次使用,就需要配置 project SDK , 就是制定一個JDK,將自己安裝好的JDK加進來就行啦 是否按照模板來創建(一般不選擇這一項) 設置項目名稱和項目存 ...
  • 前言:工作中看到項目組裡的大牛寫代碼大量的用到了StringUtils工具類來做字元串的操作,便學習整理了一下,方便查閱。 isEmpty(String str) 是否為空,空格字元為false isNotEmpty(String str) 是否為非空,空格字元為true isBlank(Strin ...
  • 給一個長為N的數列,有M次操作,每次操作是以下兩種之一: (1)將某連續一段同時改成一個數 (2)求數列中某連續一段的和 ...
  • 給一個長為N的數列,有M次操作,每次操作是以下兩種之一: (1)修改數列中的一個數 (2)求數列中某連續一段的和 ...
  • 一、JAVA高級併發 1.5JDK之後引入高級併發特性,大多數的特性在java.util.concurrent 包中,是專門用於多線程發編程的,充分利用了現代多處理器和多核心系統的功能以編寫大規模併發應用程式。主要包含原子量、併發集合、同步器、可重入鎖,並對線程池的構造提供了強力的支持。 二、線性池 ...
  • 非同步和多線程並不是一個同等關係,非同步是最終目的,多線程只是我們實現非同步的一種手段。非同步是當一個調用請求發送給被調用者,而調用者不用等待其結果的返回而可以做其它的事情。實現非同步可以採用多線程技術或則交給另外的進程來處理。 ...
  • 實現隨機驗證碼 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...