博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Discuz!NT3.6与网站整合(操作用户信息)解决方案
阅读量:6071 次
发布时间:2019-06-20

本文共 1662 字,大约阅读时间需要 5 分钟。

先说下我需要解决的场景是:

主站http://h31bt.com需要调用论坛BBS的用户信息,而不是单独再建立一套用户信息,论坛的是bbs.h31bt.com,两个不在主机的同一文件目录下,所以需要解决跨域的问题,

特此记录一下如何解决这方面的问题的。

 

下面是我的一个解决办法,没有采用第三方的SDK的方式。

1.将下载编译好的论坛放在服务器上的论坛文件夹下,用bbs.域名访问就可以了。

2.操作主站的ASP.net代码,引入4个DLL到项目中,分别是:

using Discuz.Common;using Discuz.Config;using Discuz.Entity;using Discuz.Forum;

需要拷贝对应的DLL到的BIN目录下,然后添加引用;

 

3.操作获取用户信息的一些代码:

Discuz.Config.GeneralConfigInfo config = Discuz.Config.GeneralConfigs.GetConfig();            OnlineUserInfo oluserinfo = Discuz.Forum.OnlineUsers.UpdateInfo(config.Passwordkey, config.Onlinetimeout);            userid = oluserinfo.Userid;            if (userid == -1)                Response.Redirect("http://bbs.h31bt.com/index.aspx");            username = oluserinfo.Username;            UserInfo us = Users.GetUserInfo(userid);            userscore = Users.GetUserExtCredits(userid, 3);

从本地COOKIES里面读取用户 的资料信息,如果查找不到,userid返回-1,直接中转到论坛让用户登录。

 

4.更新用户的积分信息,比较用户编辑了一项内容,需要奖励用户一些积分什么的,需要操作积分信息:

UserInfo us = Users.GetUserInfo(userid);float uss = Users.GetUserExtCredits(userid, 3);Users.UpdateUserExtCredits(userid, 3, 1);//操作论坛的第三项积分,增加积分为1

通过UserInfo用户信息类可以操作用户的积分、等级等信息。

 

5.上面的代码实现还需要设置一些内容才能够保证跨域名的COOKIES的成功;

设置一下config/general.config 将 
改为
domainname.XXX
 

6.拷贝论坛下面的config文件夹,DNT.config文件到主站的目录文件夹下;

 

7.由于下载源代码使用VS2010编译的成.net4.0框架的程序,导致管理后台如果有HTML语句的时候会报不安全,直接失败,需要修改的地方:

论坛下面的web.config中强制requestValidationMode="2.0"

 

 

总结:

1.目前主站已经可以获取到用户积分信息,操作相关的用户类,实现用户登录和注册是没有问题的;

2.由于3.9的原代码没有,所以里面的QQ整合登录代码没有办法使用,很是可惜;

遇到的问题:

1.由于服务器在美国,时差相差13个小时,发现后,主站获取用户信息总是不成功,返回一1,但过了13个小时后,此用户信息的获取就可以了。

需要分析源代码是否存在时间差的问题;

 2.如果以后论坛架设到另外一台上,需要考虑如何来调用的问题了,如果主站不能访问的话,那就需要考虑其它方法了。

希望大家有此方面经验的话,在此一起讨论交流下,谢谢。

转载地址:http://dsngx.baihongyu.com/

你可能感兴趣的文章
jdk环境变量设置
查看>>
深入理解Java虚拟机读书笔记(一)- java内存区域和垃圾收集
查看>>
ie7下的javascript兼容
查看>>
几种常见的I2S数据格式(转)
查看>>
关于消息队列的使用
查看>>
对象的创建与销毁
查看>>
case功能菜单选项
查看>>
HP ILO2 使用详细教程
查看>>
Scout YYF I (概率+矩阵快速幂)
查看>>
Reverse and Compare(DP)
查看>>
1503 猪和回文(DP)
查看>>
345. 反转字符串中的元音字母
查看>>
在浏览器输入URL后发生了什么?
查看>>
高德地图定位之浏览器定位
查看>>
[ HNOI 2005 ] 狡猾的商人
查看>>
神经网络建模的一些感悟;
查看>>
FTPS (FTP over SSL) vs. SFTP (SSH 文件传输协议): 我们如何做出选择
查看>>
steam账号分享工具、迅游账号分享工具说明:
查看>>
c++中冒号(:)和双冒号(::)的用法
查看>>
ServletContext保存访问量
查看>>