?
為某政府單位設計門戶平臺,系統部分情節如下:
1 門戶平臺主體部分采用 JSP + SSH 框架開發,開發工具為 MyEclipse8.5 ,后臺數據庫為 Oracle 10g ,項目名稱為 dbgp ,本地測試路徑為
2 論壇模塊則購買康盛的 Discuz 7.2 產品,運行配置環境為 WampServer2.0c (包括了 Apache 、 MySql 、 PHP ),開發工具為 Zend Studio 7.2 ,項目名稱為 dbgp-bbs ,本地測試路徑為 http://localhost/dbgp/bbs/ 。
由此,引出了下面兩個問題:
1 如何使門戶平臺的 Oracle 中的用戶資料與論壇系統 MySql 中的用戶資料保持同步(不求完全同步,但至少登錄名和登錄密碼要同步) ?
2 在門戶平臺中單點登錄到論壇中,中間省略掉用戶重復登錄論壇的麻煩。
?
經過技術研究和借鑒網絡上各種各樣的成功經驗和失敗教訓,得到了下面這種比較適合項目需要的解決方案。
1 針對用戶資料同步
在 dbgp-bbs 項目中用 PHP 創建一個 WebService ,此 WebService 服務中提供保存用戶、刪除用戶等接口方法;
當在門戶平臺中注冊一個新用戶時,把用戶資料保存到 Oracle 數據庫后,調用 dbgp-bbs 中的 WebService 服務,通過此 WebService 服務把用戶資料保存到論壇系統的 MySql 數據庫中。
流程圖如下所示:
2 針對單點登錄
?????? 解決方案一
在 dbgp-bbs 論壇項目中創建一個 php 頁面( usersynclogin1.php ),里面封裝了 Discuz 論壇系統的關鍵登錄代碼(其實就是 login.php 中的部分代碼)。在 dbgp 門戶平臺中連接打開此頁面,同時在 url 中傳遞用戶名和密碼,即可模擬登錄,實現單點登錄。
解決方案二
在 dbgp-bbs 論壇項目中創建一個 php 頁面( usersynclogin2.php ),把 login.html 中的 form 登錄域元素拷貝過來,并設置成隱藏模式,并在最后通過 js 代碼自動提交登錄動作。在 dbgp 門戶平臺中連接打開此頁面,同時在 url 中傳遞用戶名和密碼,即可模擬登錄,實現單點登錄。
?
以上只是整個解決方案的概況,下面的幾個章節將詳細講述操作和實施過程。之所以要寫這個概況,因為本人記憶力不太好,害怕過幾天把宏觀結構給忘記了,那要是再回想起來可就難了。
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
