閱讀286 返回首頁    go 小米 go 小米6


單點登錄係統(SSO)詳細設計說明書(下篇)

單點登錄係統(SSO)詳細設計說明書(下篇) 收藏
 

3.3輸入輸出要求
解釋各輸入輸出數據的類型,並逐項對格式、數值範圍、精度等作出準確定義。對軟件的數據輸出及必須標明的控製輸出量進行解釋並舉例,包括對硬拷貝報告(正常結果輸出、狀態輸出及異常輸出)以及圖形或顯示報告的描述。

3.4 流程邏輯
      3.4.1注冊流程圖

      3.4.2會員登錄流程圖

      3.4.3 會員登出流程圖    

      3.4.4 會員修改密碼流程圖 

       3.4.5 會員找回密碼流程圖 

       3.4.6 成員網站間跳轉流程

          假設從成員網站A跳轉到成員網站B,網站A提供網站B的入口鏈接即可。導航到網站B後,其流程與會員登錄流程一樣。        
           
         
    流程圖使用Visio製作,瀏覽不方便。特別生產了HTML格式的文檔,請從這裏下載https://files.cnblogs.com/david-weihw/passport.rar,到本地查看。

 

3.5對性能的規定
3.5.1精度

3.5.2靈活性

設計時需要充分考慮功能的擴展,使功能模塊具有很強的靈活性。

靈活性因素:

a.操作方式上的變化;

b.運行環境的變化;

c.同其他軟件的接口或其他軟件對該模塊的集成;

d.精度和有效時限的變化;

e.計劃的變化或改進。

3.6 數據管理
3.6.1數據管理能力要求

說明需要管理的文卷和記錄的個數、表和文卷的大小規模,要按可預見的增長對數據及其分量的存儲要求做出估算。比如,在數據庫中設計中會員ID時,若采用自增型變量要估算會員的數量級,確定采用(int)數據類型,還(bigint)數據類型。

3.6.2數據庫設計(Passport服務器)

           1).Pass_Member(會員表)

字段名稱
 數據類型
 說明
 備注
 
mPassID
 Bigint
 會員ID號
 自增型,PK(主鍵)
 
mName
 Nvarchar(64)
 會員名
 Email作為會員名(創建索引)
 
mPwd
 Nvarchar(32)
 會員密碼
 數據庫中保存MD5運算的結果
 
mGBPwd
 Nvarchar(32)
 會員找回密碼
 會員找回密碼時,生成的密碼,會員激活後覆蓋會員密碼
 
mWake
 Tinyint
 會員喚醒
 當和成員網站建立映射關係後,喚醒該會員
 
mMapWebsite
 Nvarchar(128)
 會員映射的成員站點
 建立會員映射關係的成員網站串
 
mRegDT
 Datetime
 會員注冊時間
 
 
mAreaCode
 Nvarchar(8)
 區域代號
 
 
mBack
 Nvarchar(64)
 預留字段
 預留擴展
 


注意:成員網站的會員表,需要通過mPassID字段建立與Pass_Member表中會員的映射關係。

       備注:60-11-20添加兩個字段(紅色高亮)

           2).Member_WebSite(成員網站表)

字段名稱
 數據類型
 說明
 備注
 
mWebID
 int
 成員網站ID編號
 PK(主鍵)
 
mWebName
 Nvarchar(32)
 成員網站名稱
 
 
mWebURL
 Nvarchar(32)
 成員網站URL
 
 
mWebIP
 Nvarchar(16)
 成員網站IP
 
 
mWebManager
 Nvarchar(16)
 成員網站管理員
 成員網站故障時,便於維護
 
mWMTel
 Nvarchar(16)
 成員管理員電話
 
 
mBack
 Nvarchar(64)
 預留字段
 預留擴展
 


      3).Member_Ticket(會員票據表)

字段名稱
 數據類型
 說明
 備注
 
mTicketID
 Nvarchar(240)
 驗證票編碼
 PK(主鍵)
 
mPassID
 Bigint
 會員ID號
 FK(關聯Pass_Member表mPassID)
 
issueDT
 Datetime
 票簽發日期時間
 
 
availDT
 datetime
 票有效日期時間
 
 
digitalSign
 Nvarchar(32)
 票的數字簽名
 用於保證票的安全
 
mBack
 Nvarchar(64)
 預留字段
 預留擴展
 


     

      4).Member_SignRecord(會員登錄記錄表)

字段名稱
 數據類型
 說明
 備注
 
ID
 Bigint
 記錄ID號
 PK(主鍵)
 
mPassID
 Bigint
 會員ID號
 FK(關聯Pass_Member表mPassID)
 
signinDT
 Datetime
 登錄日期時間
 
 
signinWebID
 int
 登錄網站ID編號
 FK(關聯Member_WebSite表)
 
signoutDT
 Datetime
 登出日期時間
 
 
signoutWebID
 int
 登出網站ID編號
 FK(關聯Member_WebSite表)
 
mBack
 Nvarchar(64)
 預留字段
 預留擴展
 


     

3.6.3數據處理
       創建作業

1、定時把驗證票的記錄導入的備份表中,供統計分析使用。

2、定時把一天以上沒有激活的會員刪除

3.7 Passport服務器與成員網站接口規範
      3.7.1 Passport服務器入口及調用接口

           a.注冊入口

            重定向規範:

       成員網站注冊重定向地址:https://passport.david.cn/register.aspx

        成員網站入口參數:AppID                成員網站ID號

                                      Redirect                         Passport重定向地址

 

        Passport回傳參數: Ticket                           cookie驗證票加密串

                                          PassID                         會員ID號

                                          UserName                    會員名稱(Email)

        舉例:

              假設AppID=1;Redirect=https://www.woall.com/index.aspx

                      Ticket= 53D2FD484DC6FAD75E82; UserName=david@gmail.com

                      PassID=1234

              則 成員網站重定向地址為:

https://passport.david.cn/register.aspx?AppID=1&Redirect=https://www.woall.com/register.aspx

                    

                     Passport重定向地址為:

https://www.woall.com/index.aspx?Ticket=53D2FD484DC6FAD75E82&PassID=1234&UserName=david@gmail.com

             

             

              Web Service通信規範:

              若用戶從成員網站A重定向到Passport服務器注冊會員時,Passport調用成員網站Web Service接口,建立Passport數據庫與網站A數據庫中會員的關聯,關聯字段為Pass_Member表中的mPassID。

              Web Service名稱: pass_user_related

              所有者:成員網站

              調用者:Passport服務器

              輸入參數:PassID:字符串,表示會員ID號                       

              輸出參數:Flag:布爾型,表示是否成功建立關聯

 

              b.登錄接口

              驗證cookie票Web Service規範:成員網站本地域存在cookie驗證票時,使用的接口。

              Web Service名稱:web_ticket_auth

              所有者:Passport服務器

              調用者:成員網站

              輸入參數:TicketCode 字符串   驗證票字符串

                             AppID        字符串 成員網站ID

             

              輸出參數:Flag:布爾型,表示驗證票是否合法

              驗證邏輯:隻要數據庫中存在該驗證票,且在有效期內,即合法。

      

              HTTP[本接口改為了重定向的方式,請參考下麵的部分] 請求通信接口規範:成員網站域不存在cookie驗證票,查看Passport域是否存在。

              Passpport提供的URL:https://passport.david.cn/pass_ticket_exist.aspx

              輸入參數:無

              輸出參數:XML格式的文本(符合RSS2.0標準),XML包含節點

                            Flag:表示是否存在合法的驗證票

Ticket:表示驗證票字符串

PassID:表示會員ID號

UserName:表示Email地址

 

備注:Http請求,從成員網站域,向Passport域發送請求時,並不能訪問到在Passport域中向客戶端寫的cookie值。現改成重定向的方式

       重定向接口規範:

              Passport提供的重定向地址:https://passport.david.cn/pass_ticket_exist.aspx

              輸入參數:Redirect    字符串  Passport重定向到成員網站的地址

                    AppID       字符串   成員網站ID號

         回傳參數:Ticket       字符串   驗證票編號

                    PassID       字符串   會員ID號

                    UserName     字符串   會員名稱

 

     舉例:

              假設: Redirect= https://www.woall.com/Public/Login_State.aspx

                                    AppID=1

                                   

                                   Ticket=53D2FD484DC6FAD75E82

                                   PassID=1234

                                   UserName= david@gmail.com

 

                            則:則 成員網站重定向地址為:

https://passport.david.cn/pass_ticket_exist.aspx?AppID=1&Redirect=https://www.woall.com/Public/Login_State.aspx

                                  

                                   Passport重定向地址為:

https://www.woall.com/Public/Login_State.aspx? Ticket=53D2FD484DC6FAD75E82&PassID=1234&UserName=david@gmail.com

 

 

              登錄框提交接口規範:成員網站輸入Email和密碼提交到Passport的地址。

              提交到Passport的地址:https://passport.david.cn/pass_login.aspx

              成員網站入口參數:Email                會員名

                                           Pwd                  會員密碼

                                           AppID               成員網站ID

                                           Redirect             Passport重定向地址

 

       Passport回傳參數: Ticket               字符串,cookie驗證票加密串

                                             PassID             字符串,會員ID號

                                             UserName        字符串,會員名稱(Email)

Flag               登錄成功與否標識 2-成功(會員存在)3-失敗(會員名不存在)4-密碼不正確,5-數據庫錯誤

              舉例:

                     假設:Passport重定向地址為https://www.woall.com/default.aspx

                     則,Passport服務器重定向到成員網站的地址是

https://www.woall.com/default.aspx?Ticket=53D2FD484DC6FAD75E82&PassID=1234&UserName=david@gmail.com&Flag=1

 

 

              c.登出接口

              重定向規範:

              成員網站登出重定向地址:https://passport.david.cn/Public/logout.aspx

              成員網站入口參數:AppID        字符串,成員網站ID號

                                           Ticket         字符串,cookie驗證票

                                           Redirect      字符串,Passport重定向地址

 

Passport回傳參數: Flag           字符串,1-表示成功從Passport登出;0-票不合法;-1-失敗(數據庫錯誤)

                                               

              舉例:

              假設AppID=1;Redirect=https://www.woall.com/index.aspx

                      Ticket= 53D2FD484D

                      Flag=1

              則,成員網站重定向到Passport的地址為

https://passport.david.cn/Public/logout.aspx?AppID=1&Ticket=53D2FD484D&Redirect=https://www.woall.com/index.aspx

 

                            Passport服務器重定向到成員網站的地址為:

https://www.woall.com/index.aspx?Flag=1

 

              d.修改密碼接口

              重定向規範:

              成員網站修改密碼重定向地址:https://passport.david.cn/Public/pwd_mod.aspx

              成員網站入口參數:AppID        字符串,成員網站ID號

                                           Ticket         字符串,cookie驗證票

                                           Redirect      字符串,Passport重定向地址

 

       Passport回傳參數: Flag    字符串,1-成功;0-驗證票不合法;-1-數據庫錯誤

             

              舉例:

              假設AppID=1;Redirect=https://www.woall.com/index.aspx

                      Ticket= 53D2FD484D

                      Flag=1

              則,成員網站重定向到Passport的地址為

https://passport.david.cn/Public/pwd_mod.aspx?AppID=1&Ticket=53D2FD484D&Redirect=https://www.woall.com/index.aspx

 

                            Passport服務器重定向到成員網站的地址為:

https://www.woall.com/index.aspx?Flag=1


 

 

       e.找回密碼接口

       重定向規範:

       成員網站找回密碼重定向地址:https://passport.david.cn/Public/getback_pwd.aspx

              成員網站入口參數:AppID        字符串,成員網站ID號

                                           Ticket         字符串,cookie驗證票

                                          

Passport回傳參數: Passport服務器發送密碼激活地址(其中有驗證票字符串)到會員郵箱,供激活密碼。

                                             激活地址:

https://passport.david.cn/pwd_awake.aspx?Ticket=53D2FD484D

              舉例:

              假設AppID=1;Ticket= 53D2FD484D

                     

              則,成員網站重定向到Passport的地址為

https://passport.david.cn/getback_pwd.aspx?AppID=1&Ticket=53D2FD484D

                    

3.8故障處理要求
列出可能的軟件、硬件故障以及對各項性能而言所產生的後果和對故障處理的要求。

 

3.9其他專門要求
如用戶單位對安全保密的要求,對使用方便的要求,對可維護性、可補充性、易讀性、可靠性、運行環境可轉換性的特殊要求等。

 

4、運行環境規定
4.1設備
列出運行該軟件所需要的硬設備。

說明其中的新型設備及其專門功能,包括:

a.處理器型號及內存容量;

b.外存容量、聯機或脫機,設備的型號及數量;

c.輸入及輸出設備的型號和數量,聯機或脫機;

d.數據通信設備的型號和數量;

e. 功能鍵及其他專用硬件

 

4.2支持軟件
           暫時不采用第三方插件或其它軟件。

 

 

4.3控製
說明控製該軟件的運行的方法和控製信號,並說明這些控製信號的來源。

【總結】
               按照係統的說明書,本人已經實現了該係統,並且實施過程的修改都作了說明。
      平台環境:
                        1、win2003, IIS6.0, MS SQL 2000,VS.NET  C# 1.1
                        2、wind2003,Apache2.2.4, MySql5.0, PHP5.1
             
     重點:
        驗證票的生成,在各個網站所在的域中共享驗證票,驗證票的安全(3DES,數字簽名,驗證票時間戳)


本文來自CSDN博客,轉載請標明出處:https://blog.csdn.net/YongJava/archive/2008/09/29/2994098.aspx

最後更新:2017-04-02 06:51:20

  上一篇:go 模仿url訪問
  下一篇:go wince 利用MSXML 3.0 讀寫xml文件