您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程
Discuz!NT3.6与网站整合操作用户信息的方法
张准辰2025-07-16Discuz教程已有人查阅
导读因为网站要加个论坛,所以就用到了Discuz!NT3.6。可惜目前官方论坛已经关闭,只有3.6版本的有源码,3.9的没有源码,不好操作。
因为网站要加个论坛,所以就用到了Discuz!NT3.6。可惜目前官方论坛已经关闭,只有3.6版本的有源码,3.9的没有源码,不好操作。
先说下我需要解决的场景是:
主站sosobt.com需要调用论坛BBS的用户信息,而不是单独再建立一套用户信息,论坛的域名是bbs.sosobt.com,两个不在主机的同一文件目录下,所以需要解决跨域的问题,
特此记录一下如何解决这方面的问题的。
下面是我的一个解决办法,没有采用第三方的SDK的方式。
1.将下载编译好的论坛放在服务器上的论坛文件夹下,用bbs.域名访问就可以了。
2.操作主站的ASP.net代码,引入4个DLL到项目中,分别是:
3.操作获取用户信息的一些代码:
4.更新用户的积分信息,比较用户编辑了一项内容,需要奖励用户一些积分什么的,需要操作积分信息:
5.上面的代码实现还需要设置一些内容才能够保证跨域名的COOKIES的成功;
设置一下config\general.config 将 <CookieDomain/>改为<CookieDomain>domainname.XXX</CookieDomain>
6.拷贝论坛下面的config文件夹,DNT.config文件到主站的目录文件夹下;
7.由于下载源代码使用VS2010编译的成.net4.0框架的程序,导致管理后台如果有HTML语句的时候会报不安全,直接失败,需要修改的地方:
论坛下面的web.config中强制requestValidationMode="2.0"
1.目前主站已经可以获取到用户积分信息,操作相关的用户类,实现用户登录和注册是没有问题的;
2.由于3.9的原代码没有,所以里面的QQ整合登录代码没有办法使用,很是可惜;
遇到的问题:
1.由于服务器在美国,时差相差13个小时,发现用户注册后,主站获取用户信息总是不成功,返回一1,但过了13个小时后,此用户信息的获取就可以了。
需要分析源代码是否存在时间差的问题;
2.如果以后论坛架设到另外一台服务器上,需要考虑如何来调用的问题了,如果数据库主站不能访问的话,那就需要考虑其它方法了。
先说下我需要解决的场景是:
主站sosobt.com需要调用论坛BBS的用户信息,而不是单独再建立一套用户信息,论坛的域名是bbs.sosobt.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 将 <CookieDomain/>改为<CookieDomain>domainname.XXX</CookieDomain>
6.拷贝论坛下面的config文件夹,DNT.config文件到主站的目录文件夹下;
7.由于下载源代码使用VS2010编译的成.net4.0框架的程序,导致管理后台如果有HTML语句的时候会报不安全,直接失败,需要修改的地方:
论坛下面的web.config中强制requestValidationMode="2.0"
<httpRuntime requestValidationMode="2.0" maxRequestLength="2097151" executionTimeout="3600"/>
总结:1.目前主站已经可以获取到用户积分信息,操作相关的用户类,实现用户登录和注册是没有问题的;
2.由于3.9的原代码没有,所以里面的QQ整合登录代码没有办法使用,很是可惜;
遇到的问题:
1.由于服务器在美国,时差相差13个小时,发现用户注册后,主站获取用户信息总是不成功,返回一1,但过了13个小时后,此用户信息的获取就可以了。
需要分析源代码是否存在时间差的问题;
2.如果以后论坛架设到另外一台服务器上,需要考虑如何来调用的问题了,如果数据库主站不能访问的话,那就需要考虑其它方法了。
本文标签:
很赞哦! ()
图文教程
Discuz支付宝小程序用户体验优化
在如今的互联网时代,用户体验几乎是所有产品的核心,Discuz作为一个广泛使用的论坛系统,与支付宝小程序的结合更是为其带来了新的发展机遇。
discuz安装显示php版本低怎么办
discuz安装显示php版本低解决方法1、首先打开phpsutdy进入管理面板;2、点击侧栏【网站】进入到网站管理页面;
Discuz<= 7.2 SQL注入漏洞分析
Discuz树大招风已成常态,不过对于其他整站程序何尝不是如此?是否曾记得大明湖畔的PHPCMS和DEDCMS万人破的场景,流行整站程序最重要的还是漏洞的快速响应。0x01 漏洞成因:
配置Discuz与微信小程序开发环境的步骤介绍
在现代网络开发中,Discuz与微信小程序的结合是一个非常有趣的组合。它们可以让你的社区更加活跃,用户体验更为流畅。那么,如何配置Discuz与微信小程序开发环境呢?
相关源码
-
(自适应响应式)高端珠宝首饰奢侈品pbootcms模板下载本模板为珠宝首饰及奢侈品行业打造,采用PbootCMS内核开发,具备卓越的视觉表现力与商业转化能力。自适应设计确保在手机端呈现产品细节,后台数据实时同步,助您高效展示钻石查看源码 -
(PC+WAP)地暖热水器烘干机节能设备网站模板下载为地暖热水器及节能设备企业设计的PbootCMS网站模板,集成产品展示、节能方案介绍、技术参数说明等专业模块。采用PC与移动端同步响应架构查看源码 -
(PC+WAP)智能机器人人工智能物联网自动化设备源码下载本模板基于PbootCMS内核开发,为智能机器人及传感器科技企业精心设计。采用现代化设计风格,突出科技感与专业性,多方位展示企业技术实力与产品优势。查看源码 -
响应式电脑维修办公用品维护pbootcms网站模板模板介绍(自适应手机版)响应式电脑修理公司pbootcms网站模板-蓝色HTML5电脑修理维修店网站源码下载PbootCMS内核开发的营销型网站模板,该模查看源码 -
(自适应)大型农业机械设备水稻玉米收割机网站pbootcms源码下载本模板基于PbootCMS内核开发,为农业机械设备制造与销售企业设计,特别适合水稻玉米收割机、拖拉机、播种机等农用机械展示。模板充分考虑了农机行业的特性,从产品展示到技术参数,从作业案例到售后服务查看源码 -
(自适应)五金配件机械蓝色营销型pbootcms模板免费下载基于PbootCMS的工业配件展示系统,精简DIV+CSS架构确保响应速度,自适应设计呈现参数表格,支持后台实时更新产品规格、在线留言等内容。查看源码
| 分享笔记 (共有 篇笔记) |
