日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

單點登錄系統(tǒng)(SSO)詳細(xì)設(shè)計說明書(上篇) - 海納百川,有容乃大 - 博客園

 nbtymm 2007-01-29
  

1、引言
1.1編寫目的

              為了單點登錄系統(tǒng)(SSO系統(tǒng))的可行性,完整性,并能按照預(yù)期的設(shè)想實現(xiàn)該系統(tǒng),特編寫需求說明書。
        同時,說明書也發(fā)揮與策劃和設(shè)計人員更好地溝通的作用。
 

1.2背景

          a.鑒于集團(tuán)運營的多個獨立網(wǎng)站(稱為成員站點),每個網(wǎng)站都具有自己的身份驗證機(jī)制,這樣勢必造成:生活中的
             一位用戶,如果要以會員的身份訪問網(wǎng)站,需要在每個網(wǎng)站上注冊,并且通過身份驗證后,才能以會員的身份訪問網(wǎng)
           站;即使用戶以同樣的用戶名與密碼在每個網(wǎng)站上注冊時,雖然可以在避免用戶名與密碼的忘記和混淆方面有一定的
           作用,但是用戶在某一段時間訪問多個成員站點或在成員站點間跳轉(zhuǎn)時,還是需要用戶登錄后,才能以會員的身份訪 
            問網(wǎng)站。這樣不僅給用戶帶來了不便,而且成員網(wǎng)站為登錄付出了性能的代價;
 

           b.如果所有的成員網(wǎng)站,能夠?qū)崿F(xiàn)單點登錄,不僅在用戶體驗方面有所提高,而且真正體現(xiàn)了集團(tuán)多個網(wǎng)站的兄弟 
            性。通過這種有機(jī)結(jié)合,能更好地體現(xiàn)公司大平臺,大渠道的理念。同時,這樣做也利于成員網(wǎng)站的相互促進(jìn)與相互
            宣傳。
 

            正是出于上面的兩點,單點登錄系統(tǒng)的開發(fā)是必須的,是迫在眉睫的。 

1.3定義

               單點登錄系統(tǒng)提供所有成員網(wǎng)站的“單一登錄”入口。本系統(tǒng)的實質(zhì)是含有身份驗證狀態(tài)的變量,
           在各個成員網(wǎng)站間共用
。單點登錄系統(tǒng),包括認(rèn)證服務(wù)器
(Passport服務(wù)器),成員網(wǎng)站服務(wù)器。 

            會員:用戶通過Passport服務(wù)器注冊成功后,就具有了會員身份。

            單一登錄:會員第一次訪問某個成員網(wǎng)站時,需要提供用戶名與密碼,一旦通過Passport服務(wù)器的身份驗證,
                              該會員在一定的時間內(nèi),訪問任何成員網(wǎng)站都不需要再次登錄。

            Cookie驗證票:含有身份驗證狀態(tài)的變量。由Passport服務(wù)器生成,票含有用戶名,簽發(fā)日期時間,
                                 過期日期時間和用戶其它數(shù)據(jù)。  

2、任務(wù)概述 

2.1目標(biāo)

         SSO系統(tǒng),是集團(tuán)統(tǒng)一的Passport,SSO系統(tǒng)分兩個階段實施。第一階段對于新注冊的用戶提供單點登錄的功能。
      第二階段,整合各個成員網(wǎng)站已有會員到單點登錄系統(tǒng)中。

         Passport服務(wù)器作為各個成員網(wǎng)站的惟一身份驗證入口,需要考慮其性能,擴(kuò)展性,穩(wěn)定性,安全性和維護(hù)成本。尤其
      要注意第二階段的開發(fā),做到統(tǒng)籌考慮。
 

2.2最終用戶的特點

         最終用戶是數(shù)以萬計網(wǎng)民。這就確定了用戶使用電腦的水平是參差不齊的,在開發(fā)單點登錄系統(tǒng)時,力爭做到界面友
      好,措詞簡單明了。用戶不用學(xué)習(xí),就能使用該系統(tǒng)。
 

3、需求規(guī)定      

     3.1 需求概述

           1)   注冊:

            a.成員網(wǎng)站重定向到Passport服務(wù)器的注冊頁面,并且?guī)в蟹祷?/span>URL和成員網(wǎng)站ID。   

            b.通過Passport注冊頁面創(chuàng)建會員后,保存會員驗證票到數(shù)據(jù)庫和passport服務(wù)器所在域cookie中。同時,在成員網(wǎng)站
               的數(shù)據(jù)庫上創(chuàng)建與
Passport服務(wù)器數(shù)據(jù)庫中會員的映射關(guān)系。

            c. 重定向到成員網(wǎng)站,填寫會員個性信息。

            d. 保存會員個性信息,并把重定向傳入的驗證票保存到本地cookie和創(chuàng)建Session狀態(tài)變量。

         2)登錄:

            a、 SSO系統(tǒng)要實現(xiàn)各個成員網(wǎng)站的無縫結(jié)合,只要會員經(jīng)過了認(rèn)證服務(wù)器的登錄驗證(Passport服務(wù)器),該會員訪
                  問其它任何的網(wǎng)站時,都不需要再次登錄。

            b、 會員在第一次登錄時,Passport服務(wù)器驗證身份之后,生成的cookie驗證票,只需保存到Passport服務(wù)器所在域的
               cookie中,不能采用向每個成員網(wǎng)站所在的域中寫cookie,防止響應(yīng)時間太長,給會員帶來不友好的瀏覽體驗。
               時,把下發(fā)給會員的cookie票保存到Passport服務(wù)器的數(shù)據(jù)庫中,方便驗證方式和會員行為統(tǒng)計的擴(kuò)展。

         c、 會員一經(jīng)通過身份驗證,成功登錄了某個成員網(wǎng)站(假設(shè)為網(wǎng)站A),需要利用Sessioncookie兩種方式保存會員已經(jīng)登
               錄的狀態(tài)。

         d、 同一個瀏覽器進(jìn)程中,會員在網(wǎng)站A的頁面間跳轉(zhuǎn)時,只需要根據(jù)Session中的狀態(tài)變量加載登錄框。不需要再與
               Passport
服務(wù)器通信驗證會員的身份。

         e、 會員通過驗證登錄了網(wǎng)站A,若會員從網(wǎng)站A跳轉(zhuǎn)或重新打開瀏覽器登錄其它成員網(wǎng)站(假設(shè)網(wǎng)站B),都需要與Passport
               服務(wù)器通信驗證會員的票。但是,這次驗證不要
Passport服務(wù)器與數(shù)據(jù)庫中保存的驗證票進(jìn)行比較驗證,只需要驗證
               Passport
服務(wù)器域中的cookie驗證票據(jù)有效即可。

         f、   對于驗證cookie票,能夠?qū)崿F(xiàn)加密和數(shù)字簽名保證cookie的機(jī)密性,完整性和不可抵賴性。

         g、 若果Passport服務(wù)器Down掉后,仍可以直接登錄成員網(wǎng)站。 

        說明:上面高亮顯示的表示二期開發(fā)功能。 

         3)登出、修改密碼、找回密碼和成員網(wǎng)站間的跳轉(zhuǎn),請查看IPO圖表中相應(yīng)的模塊描述。


    

3.2對功能的規(guī)定


         SSO
系統(tǒng)包括注冊、登錄、登出、密碼修改、密碼找回、成員網(wǎng)站間跳轉(zhuǎn)與用戶管理模塊。本說明書使用HIPO圖描述
      系統(tǒng)機(jī)構(gòu)和模塊內(nèi)部處理功能,它主要包括層次結(jié)構(gòu)圖和
IPO圖兩個部分。層次結(jié)構(gòu)圖描述了整個系統(tǒng)的結(jié)構(gòu)以及各個
      模塊之間的關(guān)系;
IPO圖則描述了在某個特定模塊內(nèi)部的輸入(I)、處理過程(P)、輸出(O)思想。

     A、系統(tǒng)結(jié)構(gòu)圖
         
                                             
                           
1 SSO系統(tǒng)結(jié)構(gòu)圖

B、層次結(jié)構(gòu)圖
                     

                                       2系統(tǒng)層次結(jié)構(gòu)圖

C、IPO圖表    

備注:紅色高亮部分,表示修改的邏輯

模塊名稱:會員注冊

使用者:Passport服務(wù)器與各成員網(wǎng)站

輸入部分   I

處理描述   P

輸出部分   O

1. 重定向到Passport服務(wù)器,帶

有返回URL和成員網(wǎng)站ID

2. 輸入信息:郵箱、密碼、區(qū)域(暫時沒有使用驗證碼)。

3 3.提交注冊信息,發(fā)出注冊請求。

  4.注冊用戶從郵件中獲得驗證碼,利用驗證號激活用戶,此時用戶將成為合法會員。

5.會員個性信息(在成員網(wǎng)站填寫)

1.郵箱是否可用的實時檢查,及時提示郵箱是否可用(這里的可用僅僅是表示符合郵箱的規(guī)范,并且該郵箱沒有被注冊,不表示真正的可用)。

2.密碼安全級別實時提示。根據(jù)字符長度、含有字符的種類,計算安全級別,并實時提示用戶。安全級別分為:太短,差,良,優(yōu)四個等級。

3.根據(jù)區(qū)域數(shù)據(jù)庫,獲得區(qū)域信息下拉框,結(jié)合會員區(qū)域IP,實現(xiàn)區(qū)域自動篩選,在允許的誤差范圍內(nèi)不需手動選擇區(qū)域。

4. 建立新會員

(1)驗證會員提交的注冊信息,若合法,把用于激活賬號的驗證碼發(fā)送到會員測試使用的郵箱中。

(2)會員使用驗證碼激活賬號,若激活成功,保存會員信息和會員驗證票到數(shù)據(jù)庫(Passport服務(wù)器數(shù)據(jù)庫),并且驗證票也保存到cookie中。同時調(diào)用成員網(wǎng)站的Web Service接口,把剛才產(chǎn)生的Passid保存到成員網(wǎng)站數(shù)據(jù)庫中(建立映射關(guān)系)。

(3)重定向到成員網(wǎng)站。

(4)成員網(wǎng)站接收數(shù)據(jù),提示會員填寫個性信息,并提交到成員網(wǎng)站服務(wù)器。

(5)保存?zhèn)€性信息與接收的會員驗證信息到成員網(wǎng)站數(shù)據(jù)庫與cookie中,同時在Session中保存會員已驗證的狀態(tài)信息。

(5)導(dǎo)航會員到某個頁面。

1.   Passort服務(wù)器保存新會員信息和會員驗證票到數(shù)據(jù)庫中。

2.   成員網(wǎng)站Web Service,在成員網(wǎng)站數(shù)據(jù)庫中添加會員信息,利用Passid建立與Passport服務(wù)器上會員的映射關(guān)系,并返回操作成功或失敗狀態(tài)信息。

3. 修改成員網(wǎng)站數(shù)據(jù)庫中會員的個性信息。

4.保存會員驗證票到cookie中,同時保存會員通過驗證的狀態(tài)到Session中。

                                                                  1:會員注冊模塊


 

 

模塊名稱:會員登錄

使用者:Passport服務(wù)器與各成員網(wǎng)站

輸入部分   I

處理描述   P

輸出部分   O

1. 會員第一次登錄時輸入Email

和密碼。

2. 提交會員信息到Passport服務(wù)

  器。

 

說明:加載登錄框之前,成員網(wǎng)

站會首先與Passport服務(wù)器通信,

獲得會員是否已經(jīng)登錄過,根據(jù)

狀態(tài)加載登錄框。

1.在成員網(wǎng)站A含有登錄框頁面的

<head>區(qū),利用

<script src=meber_auth.aspx> 在頁頭嵌入.aspx文件(成員網(wǎng)站上的文件)。

a.頁面首先查看Session中的狀態(tài)變量,如果狀態(tài)變量為NULL,則查看cookie中的狀態(tài)變量。

b.根據(jù)SessionCookie中狀態(tài)變量的情況,實現(xiàn)與Passport服務(wù)器上的Web Service通信,確定會員是否已經(jīng)登錄。

2.根據(jù)會員登錄與否,加載登錄框。

3.如果沒有登錄,顯示會員輸入Email和密碼的登錄框。

4.會員提交信息到Passport服務(wù)器上的Web Service ,通過驗證后生成cookie票,并返回登錄狀態(tài)值和cookie票到成員網(wǎng)站。成員網(wǎng)站保存登錄狀態(tài)變量與cookie票。

 

說明:會員通過任何一個成員網(wǎng)站登錄成功后,表示已經(jīng)登錄了所有的成員網(wǎng)站。

1.根據(jù)登錄狀態(tài)加載登錄框

2. Passport服務(wù)器上創(chuàng)建會員

驗證票,保存到數(shù)據(jù)庫與cookie

3.Passport Web Service 返回登錄

狀態(tài)值與cookie驗證票到成員網(wǎng)站。

4.保存會員驗證票到cookie中,同時保存會員通過驗證的狀態(tài)到Session中。

                                                                              2:會員登錄模塊


 

模塊名稱:會員登出

使用者:Passport服務(wù)器與各成員網(wǎng)站

輸入部分   I

處理描述   P

輸出部分   O

1.成員網(wǎng)站重定向到Passport服務(wù)器的登出頁面,并帶有返回URL,成員網(wǎng)站ID和驗證票。

 

1.在成員網(wǎng)站A重定向到Passport服務(wù)器,Passport接收cookie驗證票,并驗證是否合法。

2.Passport修改數(shù)據(jù)庫中驗證票使之失效,清除cookie中的驗證票。

3.重定向到成員網(wǎng)站,清除cookie中的驗證票和Session中登錄狀態(tài)變量。

4.導(dǎo)航會員到某個頁面。

1.修改數(shù)據(jù)庫中的驗證票使之失效,并清除cookie

2.重定向到成員網(wǎng)站。

                                                                                    3:會員登出

 

模塊名稱:修改密碼

使用者:Passport服務(wù)器與各成員網(wǎng)站

輸入部分   I

處理描述   P

輸出部分   O

1.成員網(wǎng)站重定向到Passport服務(wù)器修改密碼頁面,并帶有返回URL,驗證cookie票。

2.會員輸入原密碼和新密碼。

3.提交數(shù)據(jù)。

1.在成員網(wǎng)站A重定向到Passport服務(wù)器,Passport接收cookie驗證票,并驗證是否合法。

2.Passport修改會員密碼。

3.重定向到成員網(wǎng)站,并帶有修改成功與否的狀態(tài)變量。

4.導(dǎo)航會員到某個頁面。

1.修改數(shù)據(jù)庫中會員的密碼。

2.重定向到成員網(wǎng)站。

                                                                                    4:會員登出

 

模塊名稱:找回密碼

使用者:Passport服務(wù)器與各成員網(wǎng)站

輸入部分   I

處理描述   P

輸出部分   O

1.成員網(wǎng)站重定向到Passport服務(wù)器找回密碼頁面,并帶有驗證cookie票。

2.會員輸入Email地址

3.提交數(shù)據(jù)

4.激活新密碼(郵箱將收到一個激活密碼的URL)

1.在成員網(wǎng)站A重定向到Passport服務(wù)器,Passport接收cookie驗證票,并驗證是否合法。

2.Passport為會員生成新密碼,并向會員郵箱中發(fā)送一個激活密碼的URL。

3.激活新密碼

4.使用新的密碼登錄

1.為會員生成新密碼,但未激活。

2.提示會員收郵件激活新密碼,激活后方可使用。

                                                                                    5:找回密碼


 

模塊名稱:成員網(wǎng)站間跳轉(zhuǎn)

使用者:Passport服務(wù)器與各成員網(wǎng)站

輸入部分   I

處理描述   P

輸出部分   O

成員網(wǎng)站A鏈接到其它成員網(wǎng)站B,之后處理同會員登錄模塊。

                                                                              6:成員網(wǎng)站跳轉(zhuǎn)

 

模塊名稱:票據(jù)加解密及驗證

使用者:Passport服務(wù)器

輸入部分   I

處理描述   P

輸出部分   O

1.會員Passid、票據(jù)發(fā)布時間、票據(jù)有效時間、會員其它信息數(shù)據(jù)。

2.調(diào)用Web Service方法驗證

a. 傳入Email和密碼

b. 傳入cookie驗證票

 

1.接收成員網(wǎng)站請求數(shù)據(jù)(Email與密碼)

2. 由會員Passid、票據(jù)發(fā)布時間、票據(jù)有效時間、會員其它信息數(shù)據(jù)生成加密的cookie驗證票,并且保存到數(shù)據(jù)庫和cookie中。

3. 接收cookie驗證票,解密并驗證,返回給成員網(wǎng)站登錄狀態(tài)值。

 

1.生成加密的cookie票。

2.返回會員登錄狀態(tài)值。

                                                                        7票據(jù)加解密及驗證

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多