zoukankan      html  css  js  c++  java
  • 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会员设置头像不成功,检查目录图片文件上传上去了,说明目录权限没问题。下载的论坛版本又没有源代码,只能从网上找答案了。最终解决方案为:把网站的应用程序池的“托管管道模式”由“集成”改为“经典”。

  • 相关阅读:
    编写安全代码:小心使用浮点数
    编写安全代码:有符号数和无符号数的移位区别右移
    封装了 C# 矩阵计算类CMarix
    几种位操作办法
    百度地图 鼠标绘制图形判 重叠 相交 demo
    eclipse 鼠标变成十字
    五(一)、spring 声明式事务注解配置
    eclipse创建Dynamic Web Project时忘记选中生成web.xml
    tomcat 请求地址去掉项目名称方法
    mybatis java类型和 jdbc类型 对应关系
  • 原文地址:https://www.cnblogs.com/Chaser-Eagle/p/3915071.html
Copyright © 2011-2022 走看看