世间自有公道,付出总有回报,说到不如做到,要做就做好,步步高!

我的Discuz!X2 、Ucenter 1.6、ASP.NET 应用程序整合经历

对于ASP.NET 程序员来说,去整合PHP的应用实在有点别扭,但那也没有办法,即然是做程序的这些是避免不了的,既然免不了,那就上吧

第一步:准备相关程序

  1、下载DISCUZ X2 的程序

  2、在windows 2003 中配置PHP环境

  3、安装DISCUZ X2程序 ,选择全新安装(包括UCENTER 1.6)

  4、下载 Ucenter 的.NET 版本的API . (http://ucenterapidotnet.codeplex.com/)

    此应用程序是一位大侠修改的.NET 4.0。在此表示感谢。在他的博客中的有介绍ucenter 的一些通信原理,有兴趣的朋友可以去逛逛:

    http://www.dozer.cc/2011/01/ucenter-api-in-depth-1st/

  5、如果你的.net程序运行在4.0环境下,下载下来的源码中有个地方需要修改下。

    ucapibase.cs 中 使用P3P协议的地方,源码如下:

    Response.Headers.Add("P3P", 修改为:

    Response.AppendHeader("P3P",

第二步:参考这里吧,我就不码字啦 http://www.cnblogs.com/CoreCaiNiao/archive/2011/08/25/2153434.html

如果以上通信成功啦!那么恭喜你,你已经完成了一半啦

到这里问题就出来啦,在www站点可以登录和退出,且和X2也同步登录和退出啦,但是X2的登录和退出根本不会同步WWW的登录和退出,经过一系统的监控手段发现。在X2中登录和退出均不调用应用管理中设置的API(即UC.PHP),我也不懂PHP代码,百思不得其解之下请出了百度大神,我搜啊搜啊终于找到了一个解决此问题的(非常规手段)原文链接 ,看下图吧

注意,在更新缓存时,不是UCENTER中的更新缓存,是工具的 如下图:

更新完缓存后,在进入X2论坛中进行登录和退出,居然会同步啦。如果是低版本的Ucenter 可能不会出现这个问题,这个我没有去测试

 

关于修改密同步的问题,我是这样解决的

在X2中修改的密码只能在X2中登录有效,当在主站修改了密码后,在主站登录时更新X2中的密码,然后在做同步登录。

 

记录一下,希望本文对你有用

在些感谢 dozer、活跃的毛虫 非常精彩的文章

 

 

 

 

 

    

posted @ 2012-01-09 10:51  疯狂秀才  阅读(4574)  评论(4编辑  收藏  举报