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

 

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

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

http://localhost:8080/dbgp/

2 论坛模块则购买康盛的Discuz 7.2产品,运行配置环境为WampServer2.0c(包括了ApacheMySqlPHP),开发工具为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中传递用户名和密码,即可模拟登录,实现单点登录。

 

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

 

你可能感兴趣的:(oracle,PHP,jsp,webservice,bbs)