?
為某政府單位設(shè)計門戶平臺,系統(tǒng)部分情節(jié)如下:
1 門戶平臺主體部分采用 JSP + SSH 框架開發(fā),開發(fā)工具為 MyEclipse8.5 ,后臺數(shù)據(jù)庫為 Oracle 10g ,項目名稱為 dbgp ,本地測試路徑為
2 論壇模塊則購買康盛的 Discuz 7.2 產(chǎn)品,運行配置環(huán)境為 WampServer2.0c (包括了 Apache 、 MySql 、 PHP ),開發(fā)工具為 Zend Studio 7.2 ,項目名稱為 dbgp-bbs ,本地測試路徑為 http://localhost/dbgp/bbs/ 。
由此,引出了下面兩個問題:
1 如何使門戶平臺的 Oracle 中的用戶資料與論壇系統(tǒng) MySql 中的用戶資料保持同步(不求完全同步,但至少登錄名和登錄密碼要同步) ?
2 在門戶平臺中單點登錄到論壇中,中間省略掉用戶重復(fù)登錄論壇的麻煩。
?
經(jīng)過技術(shù)研究和借鑒網(wǎng)絡(luò)上各種各樣的成功經(jīng)驗和失敗教訓(xùn),得到了下面這種比較適合項目需要的解決方案。
1 針對用戶資料同步
在 dbgp-bbs 項目中用 PHP 創(chuàng)建一個 WebService ,此 WebService 服務(wù)中提供保存用戶、刪除用戶等接口方法;
當在門戶平臺中注冊一個新用戶時,把用戶資料保存到 Oracle 數(shù)據(jù)庫后,調(diào)用 dbgp-bbs 中的 WebService 服務(wù),通過此 WebService 服務(wù)把用戶資料保存到論壇系統(tǒng)的 MySql 數(shù)據(jù)庫中。
流程圖如下所示:
2 針對單點登錄
?????? 解決方案一
在 dbgp-bbs 論壇項目中創(chuàng)建一個 php 頁面( usersynclogin1.php ),里面封裝了 Discuz 論壇系統(tǒng)的關(guān)鍵登錄代碼(其實就是 login.php 中的部分代碼)。在 dbgp 門戶平臺中連接打開此頁面,同時在 url 中傳遞用戶名和密碼,即可模擬登錄,實現(xiàn)單點登錄。
解決方案二
在 dbgp-bbs 論壇項目中創(chuàng)建一個 php 頁面( usersynclogin2.php ),把 login.html 中的 form 登錄域元素拷貝過來,并設(shè)置成隱藏模式,并在最后通過 js 代碼自動提交登錄動作。在 dbgp 門戶平臺中連接打開此頁面,同時在 url 中傳遞用戶名和密碼,即可模擬登錄,實現(xiàn)單點登錄。
?
以上只是整個解決方案的概況,下面的幾個章節(jié)將詳細講述操作和實施過程。之所以要寫這個概況,因為本人記憶力不太好,害怕過幾天把宏觀結(jié)構(gòu)給忘記了,那要是再回想起來可就難了。
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

