jsp网站与discuz论坛用户同步

需求分析:
要想实现A(jsp网站)和B(discuz论坛)的同步,这里说的同步指的是
  • 在AB网站任意一方注册之后在另一方都可以直接登录
  • AB两网站之间的用户登陆状态是同步的,在任意一方登录后,另一方也是登陆状态
  • 在AB网站任意一方修改信息后,另一方同步修改
要想实现同步功能,可以利用官方提供的UCenter,其中心思想是提供一个第三方的服务,将AB网站的用户信息分别同步到第三方的UCenter中,在由UCenter负责更新AB网站的用户信息。
 
前期准备
 
实现过程:
配置discuz与UCenter之间的通信。
这种配置很简单,discuz官方论坛上的说明也很多,这个不是我们今天的重点,不会的可以去官方论坛搜搜。需要说明的是在安装discuz的时候,安装路径一定不能使用大写字母,如果使用的话,会导致UCenter路径不对无法访问的情况,在解析url的时候将大写转成了小写,肯定找不到路径的。血与泪的经验教训。。。。。
 
添加UCenter的应用
在UCenter的应用管理中,添加新的应用。
其中应用的主URL就是你jsp网站的地址。
通信密钥自己任意写
应用接口文件名称不要动
技术分享
添加完成后会提示通信失败,那是当然的,咱还没有配置jsp网站与UC的通信。
 
配置jsp网站与UCenter之间的通信
下载到discuz-ucenter-api-for-java后有几个需要修改的地方,其官方文档也有说明
config.properties文件:
 
#你自己的UCenter的地址。不会填的可参照discuz中的“UCenter设置”
UC_API =www.abc.com/discuz/uc_server

#uc的ip地址,可以不填
UC_IP = 127.0.0.1 

#key,密钥,必须和UCenter中的一样
UC_KEY = qazxsw123654 

#appid ,UCenter中应用的id号
UC_APPID = 2 

#connect mode: default value is "" 
UC_CONNECT =  
 
这样配置之后,其他使用api的默认设置就可以进行测试啦
在下载的api中提供了test.java,包含测试注册用户,注销用户,用户登录三个功能。在Jsp_demo.jsp页面中提供的是用户登录测试。
 
 需要注意的问题是:
 中文名登陆不了的,请将URLEncode.encode(str) 为 URLEncode.encode(str,"GBK")
 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。