文档章节

Discuz!NT整合网站(DiscuzTookit)

李朝强
 李朝强
发布于 2013/05/31 00:00
字数 1209
阅读 729
收藏 0

      这是一篇关于行业门户站和Discuz!NT3.5.2整合过程中,所遇到的一些问题,今天抽空,简单的总结下!

      首先,我是采用官方API来实现和网站和论坛的同步整合工作的。目前主要实现的是,注册、登录、注销、修改密码等功能的同步工作,这些工作完成以后,其它的就是小Case了。以下是我遇到的第一个问题,

       第一,我们网站,统一使用的是邮箱注册功能,但是后来发现,3.5版本中,不支持用邮箱来注册用户,只能通过用户名或邮箱来登陆,况且是,我们网站已经上线近一年了,已经有好多注册的用户了,如果此刻添加用户名,那之前的用户怎么办呢?后来,我效仿discuz!nt的登陆方式,用户可以通过用户名或邮箱来登陆我们网站,在不影响之前的用户登录的前提下,新增了一个用户UserAccount的字段,后来,通过一个简单的SQL语句,把之前的所有注册用户,都生成了一个用户名。用户名长度最小3位,有数字、字母或汉字组成,这样就得对网站的登录、注册进行一些修改了。做了这些工作后,同步注册就算完成了!在用户登录的时候,一定要判断,论坛上是否已经注册,如果没有,则调用注册API函数,否则,进行调用登录。

      第二,启用论坛扩展菜单中的同步功能。

              首先,应用程序的名字,这个根据实际情况命名了。然后,应用程序的地址:写上,http://www.xxx.com/bbs/(我的论坛是在bbs的虚拟目录下存放的,所以这里这样写);再接着,就是登录完成后返回地址,我写的是:API函数中有一个叫SessionCreate.aspx的文件,写它的地址就可了。最后一个就是同步数据的地址,写上asyncrecieve.aspx(在这里做登录、注册、注销等操作的同步工作),有一个叫asyncrecieve.txt的日志,你可以看到,论坛上发生上面这些操作后,返回给地址的参数名和值。好了,这样已配置,基本就可了。

       第三,discus!nt的密码加密方式和要整合的应用程序不同。

              我们网站,采用的是自己的一个加密组件,而discuz!nt提供的是,MD5双重加密模式,这下,可有点儿小麻烦了。当论坛上发生修改密码操作时,程序收到的是加密后的结果,在网上查,这些加密的结果,都是不可逆的,这下,可怎么办?太坑了吧!后经冷静的思考,我想了,不管什么样的加密方式,在加密前,不就是一样的嘛,于是,便有了新思路,对用户登录、注册做了些修改。统一采用论坛的加密方式,同时,保证原有的加密结果同样有效,这样问题就解决了。

       第四,关于伪静态的一些配置

             这就更简单了,我们服务器是server008 iis7的环境,官方论坛就有关于这方面的帖子,看到后,就把一个重写文件包下载下来,安装图解,导入进去。大概有29个重写规则。导入前,一定要确定论坛是否在根目录下,如果不是,就需要简单的修改下重写文件,上面都有文字说明的。

      第五,上传头像问题

             我在修改个人资料的时候,发现用flash上传的时候,只看到10%后,就什么都没有了,后来发现,火狐提示500内部服务器错误。后来修改了下,crossdomain.xml这个文件中,允许访问的域名,改成自己的,如果找不到crossdomain.xml文件,就把它移动到网站根目录下。然后设置了,/bbs/archiver/upload/目录的读取写入权限,但是结果还是老问题。后来,又上网查了下资料,把网站的应用程序池模式,有集成改为经典,然后再试,果然成功。

       第六,同步注册时出现500错误

           当用户名含@符号是,会出现,当密码长度不够6位时,还是会出现同样的错误。关于这些错误,我想,既然修改论坛的成本远>修改网站的成本,在网站上多做些工作,就可以了。

      最后,我想还有其它等等一些关于这方面的问题,如果大家在整合的时候,出现什么问题,不妨提出来,我们一起交流学习。

© 著作权归作者所有

李朝强
粉丝 93
博文 299
码字总数 151183
作品 0
郑州
产品经理
私信 提问
加载中

评论(1)

尹金
尹金
没思路,还是不知道怎么整合
Discuz!NT3.1 用户登录Cookie中密码加密方式探索

今天朋友找我,说有一个论坛和网站,一年多前网站的制作者未曾实现Dicuz!NT同步功能,问题遗留至今。两年前我曾利用 DiscuzTookit开发包,实现网站和论坛登录同步、注册同步、修改资料同步、...

李朝强
2014/08/19
429
0
从开源到开放 Discuz!NT 2.6 SQL Server版正式发布

Discuz!NT 从诞生至今,每一个版本都有创新,备受应用微软 ASP.NET 平台的站长关注。面对网络社区开放发展的新趋势,产品开发团队历时半年,经过不懈努力,推出最新的 Discuz!NT 2.6,精心打...

红薯
2009/01/16
210
0
Discuz!NT由虚拟目录转换为应用程序(server2008)

文章是针对Discuz!nt3.5.2、服务器环境Windows Server2008 SP1、IIS7.0、.NET Framework2.0,我们言归正传吧。 首先,新建一个应用程序池,我起名为BBSAppPool,应用程序模式由集成改为经典(...

李朝强
2013/05/31
303
0
ASP.NET的论坛软件--Discuz!NT

Discuz!NT 是康盛创想(北京)科技有限公司旗下的一款功能强大的基于ASP.net平台的社区软件。 除了一般论坛所具有的功能外, Discuz! NT还提供了很大限度的个性化设定。众多功能在后台预留开关...

匿名
2010/07/20
9.3K
0
整合 ECShop2.7.2 与 Discuz!6.0

1. 安装ECShop2.7.2 a) 推荐配置:LAMP(Linux+Apache+Mysql+PHP) 操作系统:Linux (支持Unix/FreeBSD/Solaris/Windows NT(2000/2003)等操作系统) WEB服务器:Apache (支持httpd, Zeus, II......

鉴客
2011/09/21
748
0

没有更多内容

加载失败,请刷新页面

加载更多

Kettle自定义jar包供javascript使用

我们都知道 Kettle 是用 Java 语言开发,并且可以在 JavaScript 里面直接调用 java 类方法。所以有些时候,我们可以自定义一些方法,来供 JavaScript 使用。 本篇文章有参考自:https://www...

CREATE_17
昨天
102
0
处理CSV文件中的逗号

我正在寻找有关如何处理正在创建的csv文件的建议,然后由我们的客户上传,并且该值可能带有逗号(例如公司名称)。 我们正在研究的一些想法是:带引号的标识符(值“,”值“,”等)或使用|...

javail
昨天
79
0
如何克隆一个Date对象?

将Date变量分配给另一个变量会将引用复制到同一实例。 这意味着更改一个将更改另一个。 如何实际克隆或复制Date实例? #1楼 简化版: Date.prototype.clone = function () { return new ...

技术盛宴
昨天
73
0
计算一个数的数位之和

计算一个数的数位之和 例如:128 :1+2+8 = 11 public int numSum(int num) { int sum = 0; do { sum += num % 10; } while ((num = num / 10) > 0); return sum;......

SongAlone
昨天
124
0
为什么图片反复压缩后普遍会变绿,而不是其他颜色?

作者:Lion Yang 链接:https://www.zhihu.com/question/29355920/answer/119088684 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 业余版概要:安卓的...

shzwork
昨天
81
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部