久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

Discuz:Discuz!通行證整合你的主站用戶

來自站長百科
跳轉至: 導航、? 搜索

Discuz! 6.0|Discuz! 6.0安裝|Discuz! 6.0使用|Discuz! 6.0風格模板|Discuz! 6.0插件|Discuz! 6.0升級|Discuz! 6.0開發(fā)|Discuz! 6.0 FAQ

Discuz! 4.0.0 RC4 版本開始,Discuz! 內嵌了一個獨特的 Passport(通行證) 接口,利用此接口,用戶將很容易將論壇與其他應用 程序整合,而實現(xiàn)統(tǒng)一登錄與退出、用戶數(shù)據(jù)共享、積分同步等功能??梢哉系膽贸绦虬▋热莨芾硐到y(tǒng)(CMS)、商城系統(tǒng)、游戲系統(tǒng)等 等。進行整合之后,用戶的注冊、登錄和退出都由其他的應用程序端來完成,所以只要你在你的應用程序中加入關聯(lián)Discuz的注冊、登錄和退出即可。那有人就會問,怎樣加入呢?先不急,首先講講Discuz!這邊的設置,然后講講應用程序端改怎么開發(fā)這些代碼!

既然Discuz!程序已經(jīng)釋放了用戶的接口,那么在這套整合的過程中,無需你改動任何的Discuz!代碼,只需后臺簡單的設置,如圖 1 所示:

Dz569.gif

首先第一項啟用通行證是開關,填寫好準確的應用程序url地址,為了保證傳輸?shù)陌踩笈_得設置一個私有密鑰,這個密鑰待會在你寫主程序的通行證的時候也得用到,還有就是設置驗證字串的有效期,這邪惡都是為安全考慮的,應用程序的注冊、登錄、退出的地址也要設置好,Discuz!通行證還可以同步一個單項積分,所以可以后臺設置需要同步哪個單項積分。

其實設置之前你就應該把應用程序的登錄、注冊和退出的代碼寫好。下面簡單講解一下通行證的登錄、注冊和退出的流程。

其實使用通行證之后,用戶的身份驗證信息將你應用程序端為主,也就是說,你的整套系統(tǒng)中有哪些用戶,用戶是什么密碼都由你的應用程序端的數(shù)據(jù)庫的存放用戶信息的表為主,論壇這邊只是一個輔助存儲數(shù)據(jù)的效果。

下面介紹一下開啟通行證后的用戶登錄流程:

如果用戶在論壇點擊“登錄”,則轉向到事先設置好的應用程序登錄頁面(http://www.mywebsite.com/login.php? action=login),并在登錄頁面 的 URL 中加入?yún)?shù) forward(加入 forward 后的鏈接例如 http://www.mywebsite.com/login.php?action=login&forward=http://www.myforums.com/index.php), 用于在登錄后將用戶導向到指定的 URL。

應用程序收到此請求后,按照慣例生成表單,并增加一個表單變量,將 GET 方式傳遞過來的 forward 參數(shù)通過表單進行傳遞。

用戶在應用程序的表單中填寫登錄信息,并提交到應用程序的登錄驗證程序。應用程序驗證用戶提交的用戶名和密碼的合法性:

如果不通過:提示用戶名密碼錯誤,要求其返回上一頁重新填寫。

如果通過,需要進行如下操作:

設置自身 Cookie 或 Session,使得應用程序自身處于登錄狀態(tài)。

檢查表單中是否提交了 forward 變量,如有,則意味著登錄請求可能是由論壇而來,將此變量傳遞到后面的請求中。如沒有,自行生成 forward 變量,使得論壇登錄后能夠跳轉回到應用程序中。

通過 header('Location: http://www.myforums.com/api/passport.php?action=login&auth=xxx&forward=http://yyy&verify=zzz') 的 方式,將登錄請求傳遞到論壇進行處理。其中 auth 用來將用戶信息與資料以特定的格式,加密傳遞給論壇,forward 用于告知論壇 Passport API 完成 自身操作后轉向到的 URL 地址,verify 用于驗證前面兩個變量的有效性。auth、forward、verify 格式與結構將在后面進行說明。

Discuz! Passport API 在接收到由應用程序通過 header() 提交過來的請求后,進行如下操作:

根據(jù) verify 判斷 auth 和 forward 變量是否合法,如合法則繼續(xù),否則終止。

將 auth 根據(jù)既定算法解密,并還原成數(shù)組,數(shù)組的內容與格式將在后面進行說明。根據(jù)數(shù)組中的內容,檢查此用戶是否存在。如存在,則根據(jù) 上述數(shù)組中的內容 UPDATE 論壇中相應的用戶資料。如不存在,則使用數(shù)組中的信息 INSERT 到論壇用戶資料表中。

論壇設置 Cookie 或 Session,使得論壇自身處于登錄狀態(tài)。

根據(jù)應用程序反饋的 forward 值,通過 header('Location: http://xxx') 的形式將頁面跳轉到 forward 變量指定的 URL。

至此,登錄流程結束。

然后是開啟通行證后的用戶退出流程:

如果用戶在論壇點擊“退出”,則轉向到事先設置好的應用程序退出頁面(http://www.mywebsite.com/login.php?action=logout),并在登錄頁面 的 URL 中加入?yún)?shù) forward(例如 http://www.mywebsite.com/login.php?action=login&forward=http://www.myforums.com/index.php),用于 在退出后將用戶導向到指定的 URL。

應用程序收到此請求后,清除自身 Cookie 或 Session,使得應用程序自身處于非登錄狀態(tài)。

檢查是否提交了 forward 變量,如有,則意味著登錄請求可能是由論壇而來,將此變量傳遞到后面的請求中。如沒有,自行生成 forward 變量,使得論壇登錄后能夠跳轉回到應用程序中。

通過 header('Location: http://www.myforums.com/api/passport.php?action=logout&forward=http://yyy&verify=zzz') 的方式,將 退出請求傳遞到論壇進行處理。其中 forward 用于告知論壇 Passport API 完成自身操作后轉向到的 URL 地址,verify 用于驗證 forward 變量的 有效性。forward、verify 格式與結構將在后面進行說明。

Discuz! Passport API 在接收到由應用程序通過 header() 提交過來的請求后,進行如下操作:

根據(jù) verify 判斷 forward 變量是否合法,如合法則繼續(xù),否則終止。

清楚論壇的 Cookie 或 Session,使得論壇自身處于非登錄狀態(tài)。

根據(jù)應用程序反饋的 forward 值,通過 header('Location: http://xxx') 的形式將頁面跳轉到 forward 變量指定的 URL。

至此,退出流程結束。

開啟通行證后的用戶注冊流程:

如果用戶在論壇點擊“注冊”,則轉向到事先設置好的應用程序注冊頁面(http://www.mywebsite.com/register.php),并在注冊頁面的 URL 中 加入?yún)?shù) forward(例如 http://www.mywebsite.com/register.php?forward=http://www.myforums.com/index.php),用于在注冊后將用戶導向到 指定的 URL

應用程序收到此請求后,按照慣例生成表單,并增加一個表單變量將 GET 方式傳遞過來的 forward 參數(shù)通過表單進行傳遞

用戶在應用程序的表單中填寫注冊信息,并提交到應用程序的注冊驗證程序。應用程序驗證用戶提交信息的完整性和合法性:

如果不通過:提示其問題所在,要求其返回上一頁重新填寫

如果通過,需要進行如下操作:

將用戶資料插入到應用程序自身用戶數(shù)據(jù)庫中。

設置自身 Cookie 或 Session,使得應用程序自身處于登錄狀態(tài)。

檢查表單中是否提交了 forward 變量,如有,則意味著注冊請求可能是由論壇而來,將此變量傳遞到后面的請求中。如沒有,自行生成 forward 變量,使得論壇注冊后能夠跳轉回到應用程序中。

通過 header('Location: http://www.myforums.com/api/passport.php?action=login&auth=xxx&forward=http://yyy&verify=zzz') 的 方式,將注冊請求傳遞到論壇進行處理。其中 auth 用來將用戶信息與資料以特定的格式,加密傳遞給論壇,forward 用于告知論壇 Passport API 完成 自身操作后轉向到的 URL 地址,verify 用于驗證前面兩個變量的有效性。auth、forward、verify 格式與結構將在后面進行說明。

Discuz! Passport API 在接收到由應用程序通過 header() 提交過來的請求后,進行如下操作:

根據(jù) verify 判斷 auth 和 forward 變量是否合法,如合法則繼續(xù),否則終止。

將 auth 根據(jù)既定算法解密,并還原成數(shù)組,數(shù)組的內容與格式將在后面進行說明。根據(jù)數(shù)組中的內容,檢查此用戶是否存在。如存在,則根據(jù) 上述數(shù)組中的內容 UPDATE 論壇中相應的用戶資料。如不存在,則使用數(shù)組中的信息 INSERT 到論壇用戶資料表中。

論壇設置 Cookie 或 Session,使得論壇自身處于登錄狀態(tài) 。

根據(jù)應用程序反饋的 forward 值,通過 header('Location: http://xxx') 的形式將頁面跳轉到 forward 變量指定的 URL。

至此,注冊流程結束。

這就是通行證的登錄、退出和注冊的一個簡單流程,詳細資料請查閱《用戶使用說明書》的《高級應用》部分。

當然,通行證既有它的優(yōu)勢,也有它的局限性。

Discuz! Passport 的優(yōu)點:

Discuz! Passport 系統(tǒng)使用了 Discuz! 獨有的技術,并不等同于以往使用過的一些方法,與傳統(tǒng)的實現(xiàn)方式相比,具備(不限于)以下優(yōu)勢:

1、基于私有密匙的低相關性可逆加密算法,配合 MD5 校檢碼技術,使得暴力破解或偽造幾乎不可能。

2、應用程序可與論壇放置于不同的服務器及不同的域名下??苫诓煌?a href="/wiki/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F" title="操作系統(tǒng)">操作系統(tǒng)、不同程序語言和不同數(shù)據(jù)庫平臺,具備真正的平臺無關性。

3、不需要任何形式的數(shù)據(jù)庫連接、或強制把兩套應用程序的數(shù)據(jù)放在同一數(shù)據(jù)庫甚至同一數(shù)據(jù)表中。論壇與應用程序都有各自的用戶數(shù)據(jù)表, 只是在需要時進行無縫同步操作。

4、對應用程序的代碼改動簡便易行,可最快速的完成應用程序與論壇間的整合。

Discuz! Passport 的局限:

您在開始利用 Discuz! Passport 進行二次開發(fā)時,需要了解這個系統(tǒng)的局限性,以對未來的工作進行正確的評估與安排。

1、只能工作在用戶密碼不加密、可逆加密或 MD5 加密的情況下,否則論壇后臺無法登錄。

2、只能與一種應用程序關聯(lián),即二方關聯(lián)。不能實現(xiàn)三方關聯(lián)或與更多的應用程序進行關聯(lián)。

3、應用程序需具有獨立的注冊、登錄、退出頁面和鏈接,否則需要自行修改論壇中的相應表單或程序。

4、由于論壇的注冊人數(shù)可能很多,例如百萬級以上,且應用程序和論壇間的用戶數(shù)據(jù)是同步的,因此要求應用程序能夠穩(wěn)定的負載大量用戶的訪問。

總之,Discuz!通行證接口,讓你更加方便的去整合你的用戶系統(tǒng),達到同步登錄,注冊和退出。有興趣和需求的站長,趕緊給你的會員使用上吧,讓他們在你的所有站長“暢通無阻”。

參考來源[ ]

Discuz! 6.0使用手冊導航

Discuz! 6.0安裝:

Discuz! 6.0產(chǎn)品概況| Discuz! 6.0環(huán)境要求| Discuz! 6.0安裝詳細過程| Discuz! 6.0文件及目錄結構| Discuz! 6.0安裝的常見問題| 附錄 如何在Discuz上安裝個人空間SupeSite/x-space指南| 附錄 論壇一鍵式安裝Discuz!EXP及EasyDiscuz指南| 附錄 discuz本地運行環(huán)境構建(windows)

Discuz! 6.0使用:

Discuz! 6.0日常使用| Discuz! 6.0 config.inc.php配置問題| Discuz! 6.0前臺管理操作說明| Discuz! 6.0用戶權限設定| Discuz! 6.0服務器相關| Discuz! 6.0后臺基本設置| Discuz! 6.0后臺論壇管理| Discuz! 6.0后臺用戶管理| Discuz! 6.0后臺帖子管理| Discuz! 6.0后臺擴展設置| Discuz! 6.0后臺其它設置| Discuz! 6.0后臺社區(qū)營銷| Discuz! 6.0后臺系統(tǒng)工具

Discuz! 6.0風格模板

Discuz!6.0風格制作| Discuz!6.0界面風格與模板定制| Discuz!6.0風格高級應用| Discuz!6.0頭部模板header詳解| Discuz!6.0頁腳模板footer詳解

Discuz! 6.0插件

Discuz!6.0插件簡介| Discuz!6.0插件安裝| Discuz!6.0插件列表

Discuz! 6.0升級

Discuz!6.0升級指南| Discuz!6.0階段升級說明| Discuz!6.0版本更新記錄

Discuz! 6.0開發(fā)

Discuz!6.0插件設計 | Discuz!6.0插件設置及管理| Discuz!6.0插件的鉤子使用技巧| Discuz!6.0插件代碼的安全規(guī)范| Discuz!6.0PassPort接口技術文檔

Discuz! 6.0 FAQ

Discuz!6.0經(jīng)驗技巧| Discuz!6.0防御CC攻擊說明| Discuz!6.0搜索引擎優(yōu)化| Discuz!6.0論壇程序