<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [原創]單點登陸(SSO)組件的設計與實現一

      更新:新增登錄流程圖:

      [原創]單點登陸(SSO)組件的設計與實現二-登錄流程圖 


          先說幾句廢話,自我感覺此方案還不錯,至少解決了安全性的問題,也實現了統一登出,能跨平臺,跨服務期,跨域名,當然需要相應的聯盟站點的支持,但從原理上絕對能跨平臺。設計和具體實現的描述比較長,今天先介紹一部分


      1引言

      1.1 編寫目的

      詳細說明單點登錄組件(SSO)的設計思想和實現方法,是日后該組件維護和擴展工作的基本依據文檔。預期讀者是要實現單點登錄(SSO)系統的系統設計人員,系統開發人員,系統維護人員。

      1.2 背景

      說明:

      1. 待開發軟件系統的名稱;jillzhang的SSO組件
      2. 本項目的任務提出者為jillzhang、開發者為jillzhang、用戶為有用戶整合需求平臺的開發和設計人員。

      1.3 定義

      SSO是Single Sign On的縮寫,該技術主要用于用戶整合。
      認證中心:認證中心是用戶注冊,成員站點管理,用戶登錄,驗證登錄信息,保存登錄 信息,頒發登錄認證的中心站點。 
      成員站點: 成員站點是遵從認證中心規則,享用認證中心統一用戶的站點。  
      注冊站點:如果想成為成員站點,必須先在認證中心進行站點登記,登記后,認證中心會保存注冊站點的配置信息,并將該配置信息發給注冊站點。注冊站點也需保存這些配置信息,供日后與認證中心交互時候使用。  
      聯盟用戶:指在認證中心注冊的用戶,這些用戶能被所有的成員站點所共享。
      登錄請求:指成員站點向認證中心發出的帶有站點配置的用戶登錄請求信息。
      登出請求:只用戶向認證中心發出的要求退出登錄的請求。  
      登錄請求驗證:指的是認證中心根據存儲的站點信息對成員站點的登錄請求信息進行來 源和真實性的驗證。
      登出請求驗證:指認證中心在接受來自成員站點的登出請求的時候,對請求的來源和真實性進行的驗證
      登錄答復:指認證中心對經過驗證的登錄請求作出的答復信息。該答復包含用戶的登錄信息。
      在線聯盟用戶數:指的是在成員站點中,在線的聯盟用戶數量。  
      在線聯盟用戶列表:指的是在成員站點中,在線的聯盟用戶的列表信息。 
      登錄站點清單:是由認證中心維護的用戶的登錄站點信息,當用戶注銷的時候,會遍歷此清單,逐個登出。

      1.4 參考資料

      本組件的設計和實現參考了下面的系統和書籍

      1. 《數字簽名技術原理及技術》

      2 程序系統的結構

      本組件包括下面幾個應用接口,分別如下:

      1. ISite:ISite是用于描述和操作成員站點的接口
      2. IUser : IUser是用于描述和操作聯盟用戶的接口
      3. IServer:IServer是認證中心處理登錄請求和登出請求的接口
      4. IClient: IClient是成員站點發出登錄請求和處理登錄答復的接口
      5. IUserLoginList:IUserLoginList是描述和操作用戶登錄站點清單的接口
      6. ILoginRequest:是記錄和操作成員站點發送登錄請求的接口。
      7. ILoginRequestContainer:用于保存和維護登錄請求列表的接口
      8. IUserStateContainer:是聯盟站點中保存用聯盟用戶登錄信息的接口。

      它們的定義如下:

      組件的工作流程描述如下:

      1. 第一步,首先注冊聯盟站點,注冊聯盟站點用到接口ISite
      2. 第二步:注冊好聯盟站點之后,將認證中心產生的站點配置信息(包括站點編號,站點公鑰,站點私鑰,認證中心的登錄地址,認證中心登出地址)存儲到聯盟站點本地。
      3. 在認證中心上注冊一新用戶,注冊用戶需要使用IUser接口
      4. 在聯盟站點對認證中心發出登錄請求
      5. 認證中心驗證登錄請求
      6. 在認證中心進行登錄
      7. 登錄成功后,保存登錄票據,認證中心對聯盟站點發送登錄答復,并將此次登錄記錄到登錄站點清單
      8. 聯盟站點接收到登錄答復后,先進性驗證,正確后,根據登錄答復中的信息產生用戶登錄票據,并且更新聯盟用戶登錄數和登錄列表
      9. 在聯盟站點中發出登出請求
      10. 認證中心驗證登出請求,正確的話,銷毀認證中心用戶登錄票據,通過用戶的登錄站點清單,逐個調用聯盟站點的登出頁面
      11. 在認證中心回調聯盟站點的登出頁的時候,聯盟站點會在登出頁中銷毀各個的登錄票據,并更新在線用戶數和用戶列表。

       

      3 ISite接口設計說明 

      3.1 接口描述

      ISite接口包括7個屬性和2個方法,分別用于在認證中心用于描述和操作站點的配置

      信息。














      其中,各個屬性的含義如下

      屬性名稱

      類型

      含義

      SiteID

      string

      站點編號,用于表示站點的唯一性。

      HomePage

      string

      當登錄請求中未提供來源網址項的時候,登錄答復發送的地址

      LogOutUrl

      string

      在進行統一登出的時候,回調的聯盟站點頁面地址,這個頁面會負責銷毀本站的登錄票據信息。

      PublicKey

      string

      用于數據交換時加密或簽名用的公鑰

      PublicAndPrivateKey

      string

      用于數據交換時加密或簽名用的私鑰

      FromUrlKey

      string

      用于指示聯盟站點在發送登錄請求和認證站點進行請求驗證的時候來源網址存儲位置。

      UidField

      string

      用于指示聯盟站點在發送登錄請求和認證站點進行請求驗證的時候用戶信息的存儲位置。

      還包括兩個方法,分別為:

      方法名

      含義和作用

      Add

      添加新的聯盟站點。

      Validate

      驗證聯盟對象是否已經存在

      3.2功能

      該接口能在認證中心完成新聯盟站點添加操作,添加之前可以驗證站點是否存在。

      3.3 默認實現

      在SSO組件中,已經實現了一個默認的ISite對象。為DefaultServer/ DefaultSite.cs,它將放置在認證中心根目錄下的sites.config文件作為存儲介質,通過Add方法添加新聯盟站點后的效果為:附件中的site.config文件,可自行下載文件后,看其結構。

       

       

      4 IUser接口設計說明

      4.1接口描述

      IUser接口包括2個屬性和2個方法,用于在認證中心端描和操作述聯盟用戶。

      其中,各個屬性的含義如下

      屬性名稱

      類型

      含義

      Uid

      string

      用戶編號,是用戶的標識

      Pwd

      string

      用戶密碼

      還包括兩個方法,分別為:

      方法名

      含義和作用

      Validate

      驗證用戶是否存在

      Register

      添加新用戶

      4.2功能

      該接口能在認證中心完成新聯用戶添加操作,添加之前可以驗證用戶是否存在。

      4.3 默認實現

      在SSO組件中,已經實現了一個默認的IUser對象。為DefaultServer/ DefaultUser.cs,它將放置在認證中心根目錄下的users.config文件作為存儲介質,通過Register方法添加新聯盟用戶的效果為:附件中的users.config文件,可自行下載文件后,看其結構。

       

       

      5 IUserLoginList接口設計說明

      5.1接口描述

      IUserLoginList接口包括3個方法,用于在認證中心描述和操作用戶登錄的站點清單。

      還包括三個方法,分別為:

      方法名

      含義和作用

      Add

      驗證用戶是否存在

      GetLoginSites

      獲取用戶的登錄站點清單

      DeleteUser

      刪除用戶的登錄站點清單數據

      5.2功能

      該接口在認證中心用于用戶記錄和維護用戶登錄的站點清單  

      5.3 默認實現

      在SSO組件中,已經實現了一個默認的IUserLoginList對象。為DefaultServer/ UserLoginLog.cs,它通過一個Collection對象來實現用戶登錄站點清單的維護工作。

       

       

      6 IServer接口設計說明

      6.1接口描述

      IServer接口包括2個屬性和5個方法,用于接收,驗證登錄請求,發送登錄答復,接搜,驗證登出請求,創建本地登錄票據,維護用戶登錄清單。

      兩個屬性為:

      屬性名稱

      類型

      含義

      Site

      ISite

      當前上下文處理請求和答復的站點對象

      Uid

      string

      當前處理的上下文中的用戶編號

       

      還包括三個方法,分別為:

      方法名

      含義和作用

      CheckUser

      驗證用戶對象是否存在

      CheckExistToken

      驗證登錄票據已經存在

      SaveToken

      在認證中心本地保存登錄票據

      Jump

      通過url跳轉,發送登錄答復

      LogOut

      統一登出。

      6.2功能

      該接口在認證中心,用于接收,驗證登錄請求,發送登錄答復,接搜,驗證登出請求,創建本地登錄票據,維護用戶登錄清單

      6.3 默認實現

      在SSO組件中,已經實現了一個默認的IServer對象。為DefaultServer/ LoginRequest.cs。

       

       

      7 ILoginRequest接口設計說明

      7.1接口描述

      ILoginRequest接口包括2個屬性,用于記錄和描述聯盟站點的登錄請求,這些信息在發出登錄請求的時候創建,在收到登錄答復的時候銷毀。用于確保登錄答復的不可復用性。

      兩個屬性為:

      屬性名稱

      類型

      含義

      Identity

      string

      登錄請求標志符,該標志符會發送給服務端,服務端在發送登錄答復的時候會回傳該標志,聯盟站點會根據此標志來驗證請求是否是偽造的。

      TimeStamp

      DateTime

      請求的時間戳

      7.2功能

      該接口在聯盟站點,用于記錄和描述聯盟站點的登錄請求,這些信息在發出登錄請求的時候創建,在收到登錄答復的時候銷毀。用于確保登錄答復的不可復用性。7.3 默認實現

      7.3 默認實現

      在SSO組件中,已經實現了一個默認的ILoginRequest對象。為DefaultServer/ LoginRequest.cs。

       

      8 ILoginRequestContainer接口設計說明

      8.1接口描述

      ILoginRequestContainer接口包括3個方法,用于在聯盟站點中記錄和維護登錄請求

       

      方法名

      含義和作用

      Add

      添加登錄請求信息

      Check

      檢查登錄請求是否存在

      Remove

      銷毀存在的登錄請求

      8.2功能

      該接口在聯盟站點,用于在聯盟站點中記錄和維護登錄請求

      8.3 默認實現

      在SSO組件中,已經實現了一個默認的ILoginRequestContainer對象。為DefaultServer/ LoginRequestContainer.cs。

       

      9 IUserStateContainer接口設計說明

      9.1接口描述

      IUserStateContainer接口包括5個方法,用于在聯盟站點中記錄和維護在線聯盟用戶信息

       

      方法名

      含義和作用

      Add

      添加登錄用戶

      GetList

      獲取在線用戶清單

      Check

      檢查某個用戶是否已經在線

      Remove

      移除某個在線用戶。

      GetUserCount

      獲取在線用戶個數

      9.2功能

      該接口在聯盟站點,用于在聯盟站點中記錄和維護在線聯盟用戶信息

      9.3 默認實現

      在SSO組件中,已經實現了一個默認的IUserStateContainer對象。為DefaultServer/ UserState.cs。

       

       

      10 IClient接口設計說明

      10.1接口描述

      IClient接口包括6個屬性和2個方法,用于發出登錄請求和登出請求

      8個屬性為:

      屬性名稱

      類型

      含義

      SiteID

      string

      站點編號

      PrivateKey

      string

      數據交換時加密或者簽名用的公鑰

      LoginAddress

      string

      認證中心登錄地址

      LogoutAddress

      string

      認證中心登出地址

      Uid

      string

      登錄的用戶編號

      TimeOut

      int

      登錄答復的超時時間,單位s

      UidField

      string

      登錄登出請求中的用戶信息的存儲位置

      FromUrlField

      string

      登錄請求中的來源網址存儲位置

      2個方法為

      方法名

      含義和作用

      Login

      發出登錄請求,并處理登錄答復

      LogOut

      登出

      10.2功能

      該接口在聯盟站點,用于發出登錄請求和登出請求

      10.3 默認實現

      在SSO組件中,已經實現了一個默認的IClient對象。為DefaultServer/ DefaultClient.cs

       

      11 本系統的安全性

      11.1 登錄請求的格式

      聯盟站點向認證中心發送的登錄請求格式如下:

      站點信息+登錄請求編號+時間戳+空用戶信息+對站點信息和登錄清秋號的簽名信息。
      除了簽名信息之外的全部信息均為明文傳送,但因為重要的數據均經過數字簽名,結果是站點信息和登錄請求編號是不能被篡改的,保證了認證中心收到的登錄請求的真實性。

      11.2 登錄答復的格式

      認證中心發給聯盟站點的登錄答復格式如下

      登錄用戶信息+登錄請求編號+時間戳+對用戶信息和登錄請求號和時間戳的簽名信息
      其中登錄用戶信息是經過非對稱加密的。請求號和時間戳因為經過簽名,故也不能篡改,這樣就可以保證聯盟站點收到的登錄答復的真實性和完整性。并且非正常聯盟站點無法解密用戶信息,也無法從中獲取好處。  

      篇幅太大,下面還有很長的內容要說,先發布以下,感興趣的朋友可以先下載程序嘗試使用。以后,我會逐漸添加Sql 和 Oracle的實現。您也可以根據接口規范,開發符合自己系統需求的SSO系統,今天先到這吧

      程序文件:/Files/jillzhang/SSO.rar


      更新:新增登錄流程圖:

      [原創]單點登陸(SSO)組件的設計與實現二-登錄流程圖 

       

      posted @ 2008-01-31 20:33  Robin Zhang  閱讀(28135)  評論(61)    收藏  舉報
      主站蜘蛛池模板: 色综合天天综合网天天看片| 永宁县| 久久精品国产亚洲成人av| 天堂亚洲免费视频| 国产成人a在线观看视频| 精品无码三级在线观看视频| 欧美性猛交xxxx免费看| 国产一区二区日韩在线| 欧美性猛交xxxx乱大交丰满| 国产乱子伦一区二区三区四区五区 | 亚洲全乱码精品一区二区| 五月婷婷久久草| 国内少妇偷人精品免费| 国产熟睡乱子伦视频在线播放| 日日橹狠狠爱欧美视频| 久久久久蜜桃精品成人片公司| 一亚洲一区二区中文字幕| av偷拍亚洲一区二区三区| 米泉市| 人妻精品动漫H无码中字| 亚洲国产一区二区三区最新| 久久久一本精品99久久精品36| 精品亚洲国产成人性色av| 色猫咪av在线观看| 免费看黄色亚洲一区久久| 甘南县| 婷婷五月综合丁香在线| 国产成人精品无码专区| 综合偷自拍亚洲乱中文字幕 | 成人国产亚洲精品天堂av| 成人毛片一区二区| 国产精品一区二区色综合| 日韩高清亚洲日韩精品一区二区 | xxxx丰满少妇高潮| 中国性欧美videofree精品| 国产区二区三区在线观看| 国产办公室秘书无码精品99| 99国产欧美另类久久久精品| 精品国产粉嫩一区二区三区| 日韩av综合中文字幕| 少妇高潮喷水正在播放|