Discuz!NT 3.5.2正式版与Asp.net网站会员信息整合

  Discuz!NT 提供了很多对外的接口利于与别的网站进行整合,经本人亲测,觉得开放的接口还是挺到位的。开发、测试一次通过,只不过api文档寻找无门,只能自己琢磨,费了不少周折,不过,功夫不负有心人,最终还是搞定了。

  第一步、Discuz!NT 的安装,不再描述了,网上的安装教程多的是。注意安装目录,如果是根目录,直接默认即可。如果是某一个文件夹下,如/bbs/等,在安装前可将BBS文件的根目录的DNT.config文件做相应修改,如下面代码。

<?xml version="1.0"?>

<BaseConfigInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <Dbconnectstring>Data Source=.;User ID=sa;Password=123456;Initial Catalog=bbs;Pooling=true</Dbconnectstring>

  <Tableprefix>dnt_</Tableprefix>

  <Forumpath>/dnz/</Forumpath><!--更改为对应目录,根目录直接默认就行-->

  <Dbtype>SqlServer</Dbtype>

  <Founderuid>0</Founderuid>

</BaseConfigInfo>

  第二步、下载开发包DiscuzToolkit

  第三步、登陆论坛后台,选择“扩展”——》“通行证设置”——》“添加整合程序设置”

  

  第四步、论坛会员——》网站会员

      Discuz!NT 的说明文档未找到,只能用笨办法,把送过来的参数一一解析。本人建了一个单独处理送过来的数据的文件,加入对应的逻辑即可。下载文件

  第五步、网站会员——》论坛会员

      把DiscuzToolkit添加到现有的项目中,web解决方案,添加引用。

      现在就要用到通行证的API_KEY、SECRET、RETURL,可将他设为静态变量、或者web.config中的配置节。我这里是将这些信息放到了APPSETTING中。API函数很多地方用到论坛用户的uid,所以在自己网站的会员信息表中需要新增一个存放论坛会员ID的字段。

      登录

DiscuzSession ds = new DiscuzSession("API_KEY", "SECRET", "RETURL");//对应论坛扩展中的 API_KEY/SECRET/RETURL

ds.Login(UID, PassWord.ToLower(),true, 10, ""); //论坛用户UID

ds = null;

      注册

DiscuzSession ds = new DiscuzSession("API_KEY", "SECRET", "RETURL");

int bbsid = ds.Register(UserName,PassWord.ToLower(),UserEmail, true);

//修改会员信息UID逻辑

      修改个人资料

#region  更改论坛对应用户信息

DiscuzSession ds = new DiscuzSession("API_KEY", "SECRET", "RETURL");

UserForEditing ufe = new UserForEditing();

ufe.Mobile = Mob;

ufe.Phone = Tel;

ufe.RealName = RealName;

ufe.Location = Address;

ds.SetUserInfo(UID, ufe);

ufe = null;

ds = null;

#endregion

      修改密码

#region  更改论坛对应用户信息

DiscuzSession ds = new DiscuzSession("API_KEY", "SECRET", "RETURL");

UserForEditing ufe = new UserForEditing();

ufe.Password = PassWord.ToLower();

ds.SetUserInfo(UID,ufe);

ufe = null;                

ds = null;

#endregion

  至此,论坛的对接工作就已经完成了,剩下的就是测试和微调了。

  遇到的问题:做的过程中发现Discuz!NT会员设置头像不成功,检查目录图片文件上传上去了,说明目录权限没问题。下载的论坛版本又没有源代码,只能从网上找答案了。最终解决方案为:把网站的应用程序池的“托管管道模式”由“集成”改为“经典”。

你可能感兴趣的:(asp.net)