Discuz!NT3.6与网站整合(操作用户信息)解决方案
因为网站要加个论坛,所以就用到了Discuz!NT3.6。
可惜目前官方论坛已经关闭,只有3.6版本的有源码,3.9的没有源码,不好操作,下载地址:
http://download.comsenz.com/DiscuzNT/3.6/
先说下我需要解决的场景是:
主站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 == -)
Response.Redirect("http://bbs.h31bt.com/index.aspx");
username = oluserinfo.Username;
UserInfo us = Users.GetUserInfo(userid);
userscore = Users.GetUserExtCredits(userid, );
从本地COOKIES里面读取用户 的资料信息,如果查找不到,userid返回-1,直接中转到论坛让用户登录。
4.更新用户的积分信息,比较用户编辑了一项内容,需要奖励用户一些积分什么的,需要操作积分信息:
UserInfo us = Users.GetUserInfo(userid);
float uss = Users.GetUserExtCredits(userid, );
Users.UpdateUserExtCredits(userid, , );//操作论坛的第三项积分,增加积分为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="" executionTimeout=""/>
总结:
1.目前主站已经可以获取到用户积分信息,操作相关的用户类,实现用户登录和注册是没有问题的;
2.由于3.9的原代码没有,所以里面的QQ整合登录代码没有办法使用,很是可惜;
遇到的问题:
1.由于服务器在美国,时差相差13个小时,发现用户注册后,主站获取用户信息总是不成功,返回一1,但过了13个小时后,此用户信息的获取就可以了。
需要分析源代码是否存在时间差的问题;
2.如果以后论坛架设到另外一台服务器上,需要考虑如何来调用的问题了,如果数据库主站不能访问的话,那就需要考虑其它方法了。
希望大家有此方面经验的话,在此一起讨论交流下,谢谢。
Discuz!NT3.6与网站整合(操作用户信息)解决方案的更多相关文章
- 网站论坛同步用户,整合api,实现…
在网上参考了很多资料后,终于完美实现了网站和discuz!nt论坛的双向整合,整合后网站和论坛之间可以同步注册.登录.退出和修改登录密码操作. 本系统的实现形式是新云CMS网站(ASP)和Discuz ...
- discuz论坛与其它网站登录注册整合
discuz论坛与其它网站登录注册整合 本文以discuz 7.0.0 php版本的论坛与 .net 2.0的网站注册登录整合为类.没有采用uc_center或第三方插件.以另类的方式实现.此方法实现 ...
- MVC5 网站开发之七 用户功能 1、角色的后台管理
角色是网站中都有的一个功能,用来区分用户的类型.划分用户的权限,这次实现角色列表浏览.角色添加.角色修改和角色删除. 目录 奔跑吧,代码小哥! MVC5网站开发之一 总体概述 MVC5 网站开发之二 ...
- MVC5 网站开发之七 用户功能 2 用户添加和浏览
目录 MVC5网站开发之一 总体概述 MVC5 网站开发之二 创建项目 MVC5 网站开发之三 数据存储层功能实现 MVC5 网站开发之四 业务逻辑层的架构和基本功能 MVC5 网站开发之五 展示层架 ...
- MVC5 网站开发之七 用户功能 3用户资料的修改和删除
这次主要实现管理后台界面用户资料的修改和删除,修改用户资料和角色是经常用到的功能,但删除用户的情况比较少,为了功能的完整性还是坐上了.主要用到两个action "Modify"和& ...
- Spring MVC基础知识整理➣Spring+SpringMVC+Hibernate整合操作数据库
概述 Hibernate是一款优秀的ORM框架,能够连接并操作数据库,包括保存和修改数据.Spring MVC是Java的web框架,能够将Hibernate集成进去,完成数据的CRUD.Hibern ...
- web网站如何获取用户的地理位置
web网站如何获取用户的地理位置 一.总结 一句话总结:通过gps知道用户的经度和纬度,然后通过经度和纬度在在地图(google或者百度)上面显示位置. 1.html5如何通过gps知道用户的经度和纬 ...
- SharePoint2013网站添加切换用户登录
不知道大家发现没,sharepoint2013的网站集下面没有了切换用户登陆这个选项卡,这对于我们有时候要做一些权限性的实验是不太方便的,今天我找到了一个办法解决,又实际应用了一下,感觉不错,特地来和 ...
- 基于jsp+servlet图书管理系统之后台用户信息查询操作
上一篇的博客写的是插入操作,且附有源码和数据库,这篇博客写的是查询操作,附有从头至尾写的代码(详细的注释)和数据库! 此次查询操作的源码和数据库:http://download.csdn.net/de ...
随机推荐
- c#获取网页内容的三种方法
1.webclient WebClient wc = new WebClient(); Stream stm = wc.OpenRead(str_url); StreamReader sr = new ...
- PAT1015—— 德才论
宋代史学家司马光在<资治通鉴>中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人 ...
- 上传至应用商店以及testflight相关。
对于一个新的开发者账号来说,首先你需要创建一个新的发布证书.这个证书只要创建一次就行了,如果以后用的话,直接拿过来用就行了,当然发布证书是和配置文件一起使用的,还有就是关于p12,就是用创建证书的电脑 ...
- Application 统计在线人数
MVC 统计在线人数: protected void Application_Start() { Application[; AreaRegistration.RegisterAllAreas(); ...
- 理解C#系列 / 核心C# / 变量
变量 变量? 变量是对一个东西指定一个名称,变量的功能和人的名字差不多,提到名字就知道指的是什么. 变量类型? 变量类型说明了变量的类型,声明变量是一个整数,还是小数,还是字符,或是图像,或是人类,或 ...
- ubuntu下安装git,sublime,nodejs
用的是VMware10.0版本的虚拟机,很早之前下载的今天就直接用了,安装挺简单记得需要一个序列号.在这里:http://mirrors.163.com/ubuntu-releases/15.04/u ...
- background-clip 背景图片做适当的裁剪
background-clip 用来将背景图片做适当的裁剪以适应实际需要. 语法: background-clip : border-box | padding-box | content-box | ...
- Linux操作杂记
centos7修改默认运行等级 查看当前默认运行等级: systemctl get-dafault 修改默认运行等级为5: systemctl set-default graphical.target ...
- ERP基本功——物料的四个量
ERP基本功——物料的四个量 在分析制造业管理问题的时候,如果能借用一些ERP里才会用到的概念,就会非常的简单,并且条理清晰. 我觉得柳中冈先生一再强调的一个观点非常有用,大意是这样的:任何人依据现有 ...
- 工厂方法模式与IoC/DI控制反转和依赖注入
IoC——Inversion of Control 控制反转 DI——Dependency Injection 依赖注入 要想理解上面两个概念,就必须搞清楚如下的问题: 参与者都有谁? 依赖:谁 ...