JSP站点中集成Discuz论坛整体解决方案 - 第一

系统 1613 0

 

为某政府单位设计门户平台,系统部分情节如下:

1 门户平台主体部分采用 JSP SSH 框架开发,开发工具为 MyEclipse8.5 ,后台数据库为 Oracle 10g ,项目名称为 dbgp ,本地测试路径为

http://localhost:8080/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 中传递用户名和密码,即可模拟登录,实现单点登录。

 

以上只是整个解决方案的概况,下面的几个章节将详细讲述操作和实施过程。之所以要写这个概况,因为本人记忆力不太好,害怕过几天把宏观结构给忘记了,那要是再回想起来可就难了。

 

JSP站点中集成Discuz论坛整体解决方案 - 第一章 概况


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论