网站整合Discuz!NT论坛,网站用户和论坛用户统一并同步,详解(

最近做一网站,其中需要挂一论坛,且网站用户要和论坛用户一致。

国内网站挂论坛的,非Discuz莫属,网站是asp.net的,所以论坛就选择了Discuz!NT3.6。

Discuz!NT下载地址:http://nt.discuz.net/showtopic-140676.aspx

更多Discuz!NT信息在官网论坛,地址:http://nt.discuz.net/

更多Discuz!NT整合信息:http://nt.discuz.net/integration/

更多Discuz!NT的API信息:http://nt.discuz.net/API/

本文提到的整合是借助官方提供的开发包DiscuzToolkit来实现的,大部分的网站整合论坛都可借助该开发包轻松实现。

DiscuzToolkit开发包下载地址:http://download.comsenz.com/DiscuzNT/src/DiscuzToolkit.zip

开发包下载后包含内容如下图所示:

可以将三个项目全部包含在你自己的项目中,开发完整后删除WebSample即可。很多操作可以参考WebSample的例子。

现在整合正式开始:网站和论坛部署好后,进行如下操作:

一、论坛中

论坛-》系统设置-》扩展-》通行证设置,

找到“添加整合程序设置”按钮,填写相应信息,如下图:

填写完成后,会生成相应一条记录,如图:

到此论坛的api设置已经完成。

一、网站中

将开发包DiscuzToolkit加入网站后,如图,参考

其中上边三个是网站的原有项目,下边三个是开发包中的。

将WebSampleHelper中的DiscuzSessionHelper.cs文件修改一下,如图:

其中apikey对应api key,secret对应api的密钥,url是论坛的地址,如url = “http://bbs.bubufx.com”;

在网站的web项目中添加DiscuzToolkit和WebSampleHelper的引用。

实现网站会员登录,同步登录论坛的相应用户,代码如下:

using Discuz.Toolkit;//顶部增加引用try{    string cookieDomain = ".bubufx.com";//你的域名    DiscuzSession ds = WebSampleHelper.DiscuzSessionHelper.GetSession();    Discuz.Toolkit.User user = null;    if (user == null || user.UserName != loginnameStr)    {        int uid = ds.GetUserID(loginnameStr);        if (uid > 0)        {            ds.Login(uid, loginpassStr, false, 10000, cookieDomain);        }    }}catch { }

登录完成。

布布分享原创技术分享,转载请注明:http://tech.bubufx.com/infodetail_24.html

一个人去旅行,而且是去故乡的山水间徜徉。

网站整合Discuz!NT论坛,网站用户和论坛用户统一并同步,详解(

相关文章:

你感兴趣的文章:

标签云: