這是一篇關於行業門戶站和Discuz!NT3.5.2整合過程當中,所遇到的一些問題,今天抽空,簡單的總結下! 服務器
首先,我是採用官方API來實現和網站和論壇的同步整合工做的。目前主要實現的是,註冊、登陸、註銷、修改密碼等功能的同步工做,這些工做完成之後,其它的就是小Case了。如下是我遇到的第一個問題, dom
第一,咱們網站,統一使用的是郵箱註冊功能,可是後來發現,3.5版本中,不支持用郵箱來註冊用戶,只能經過用戶名或郵箱來登錄,何況是,咱們網站已經上線近一年了,已經有好多註冊的用戶了,若是此刻添加用戶名,那以前的用戶怎麼辦呢?後來,我效仿discuz!nt的登錄方式,用戶能夠經過用戶名或郵箱來登錄咱們網站,在不影響以前的用戶登陸的前提下,新增了一個用戶UserAccount的字段,後來,經過一個簡單的SQL語句,把以前的全部註冊用戶,都生成了一個用戶名。用戶名長度最小3位,有數字、字母或漢字組成,這樣就得對網站的登陸、註冊進行一些修改了。作了這些工做後,同步註冊就算完成了!在用戶登陸的時候,必定要判斷,論壇上是否已經註冊,若是沒有,則調用註冊API函數,不然,進行調用登陸。 async
第二,啓用論壇擴展菜單中的同步功能。 函數
首先,應用程序的名字,這個根據實際狀況命名了。而後,應用程序的地址:寫上,http://www.xxx.com/bbs/(個人論壇是在bbs的虛擬目錄下存放的,因此這裏這樣寫);再接着,就是登陸完成後返回地址,我寫的是:API函數中有一個叫SessionCreate.aspx的文件,寫它的地址就可了。最後一個就是同步數據的地址,寫上asyncrecieve.aspx(在這裏作登陸、註冊、註銷等操做的同步工做),有一個叫asyncrecieve.txt的日誌,你能夠看到,論壇上發生上面這些操做後,返回給地址的參數名和值。好了,這樣已配置,基本就可了。 學習
第三,discus!nt的密碼加密方式和要整合的應用程序不一樣。 網站
咱們網站,採用的是本身的一個加密組件,而discuz!nt提供的是,MD5雙重加密模式,這下,可有點兒小麻煩了。當論壇上發生修改密碼操做時,程序收到的是加密後的結果,在網上查,這些加密的結果,都是不可逆的,這下,可怎麼辦?太坑了吧!後經冷靜的思考,我想了,無論什麼樣的加密方式,在加密前,不就是同樣的嘛,因而,便有了新思路,對用戶登陸、註冊作了些修改。統一採用論壇的加密方式,同時,保證原有的加密結果一樣有效,這樣問題就解決了。 加密
第四,關於僞靜態的一些配置 日誌
這就更簡單了,咱們服務器是server008 iis7的環境,官方論壇就有關於這方面的帖子,看到後,就把一個重寫文件包下載下來,安裝圖解,導入進去。大概有29個重寫規則。導入前,必定要肯定論壇是否在根目錄下,若是不是,就須要簡單的修改下重寫文件,上面都有文字說明的。 server
第五,上傳頭像問題 xml
我在修改我的資料的時候,發現用flash上傳的時候,只看到10%後,就什麼都沒有了,後來發現,火狐提示500內部服務器錯誤。後來修改了下,crossdomain.xml這個文件中,容許訪問的域名,改爲本身的,若是找不到crossdomain.xml文件,就把它移動到網站根目錄下。而後設置了,/bbs/archiver/upload/目錄的讀取寫入權限,可是結果仍是老問題。後來,又上網查了下資料,把網站的應用程序池模式,有集成改成經典,而後再試,果真成功。
第六,同步註冊時出現500錯誤
當用戶名含@符號是,會出現,當密碼長度不夠6位時,仍是會出現一樣的錯誤。關於這些錯誤,我想,既然修改論壇的成本遠>修改網站的成本,在網站上多作些工做,就能夠了。
最後,我想還有其它等等一些關於這方面的問題,若是你們在整合的時候,出現什麼問題,不妨提出來,咱們一塊兒交流學習。