总算搞定了DNT的不同站点数据同步,
我的程序中使用的是DNT官方的一个叫DiscuzTookit的示例代码中的类库
关键是域名那点儿如果是 http://www.xxx.com/ 和 bbs.xxx.com 做整合 那么域名那块儿就直接写
.xxx.com ,因为DNT的数据同步是让 数据以GET 方式提交到 另一个网站的一个页面,
从而在另一个网站下实现相应的操作
2010年5月23日17:00:04
DNT 论坛整合中文用户名问题
DNT使用的是UTF8编码而网站使用的是GB2312。。
这样在注册的时候从查询字符串中取出的中文用户名将会出现乱码。。
在网上找了个UTF8>GB2312的代码~转换不了
后来想到QueryString中有个UID值 这个值是用户的论坛用户ID
建议在DNT的源码上做点儿修改。。禁止中文注册。。因为不少站点都有一个以用户名
作为用户文件夹名或者泛解析如果用中文就麻烦了。
于是修改注册代码
先利用API根据ID从论坛获取用户对象
再使用取到的DNT用户信息添加到网站数据库
2010年5月23日21:25:51
IE8下论坛cookie不过期。。
不知道是不是上面的domain问题。。
但是用Google浏览器可以成功同步
代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using QS.Model;
using Discuz.Toolkit;
using System.Text;
public partial class logincheck : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //限定只能为本服务器上的请求

//注册 Url: {http://192.168.0.200/checkUser.aspx?action=register&password=61a93c18e1b29162e6026b7c8aac4934&time=1274518035&uid=8&user_name=mafeifei222&sig=44435a44cff91f3eec53b7cff0519b8c}
        // 登录 Query: "?action=login&time=1274520157&uid=6&user_name=mahuihui1&sig=0833f672206b42a34263cd2c60a8bbe9"
        // 退出 "/checkUser.aspx?action=logout&time=1274520326&uid=-1&sig=c773d340492ca1b0409ff9231b5fef31"

#region 编码转换

#endregion
        try
        {
            string action = Request.QueryString["action"];

if (!string.IsNullOrEmpty(action))
            {
                string user_name = Request.QueryString["user_name"];
                string lowerMd5Pwd = Request.QueryString["password"];
                string sig = Request.QueryString["sig"];
                DiscuzSession ds = DiscuzSessionHelper.GetSession();
                tUser user = new tUser();
                int bbsuid = 0;
                Discuz.Toolkit.User bbsuser = null;
                switch (action)
                {

case "register"://注册      
                        bbsuid = int.Parse(Request.QueryString["uid"]);
                        bbsuser = ds.GetUserInfo(bbsuid);
                        if (bbsuser != null)
                        {
                            user.userName = bbsuser.UserName;
                            user.Password = bbsuser.Password.ToUpper();
                            user.BBS_UID = int.Parse(bbsuser.UId.ToString());
                            user.UserType = QS.Model.UserType.Default;
                            user.regTime = DateTime.Parse(bbsuser.JoinDate);
                            user.lastIPaddress = bbsuser.LastIp;
                            user.lastLoingTime = DateTime.Now;
                            user = new QS.BLL.tUser().GetModel(new QS.BLL.tUser().Add(user));
                            if (user != null)
                            {//网站注销用户

SO.bbsLoin(user);
                            }
                        }
                        break;
                    case "login"://登录 
                        user = new QS.BLL.tUser().GetModel("bbs_uid=" + Request.QueryString["uid"]);
                        if (user != null)
                        {//网站记录用户
                            System.Web.HttpContext.Current.Session["user"] = user;
                            System.Web.HttpContext.Current.Session["UserName"] = user.userName;
                            string ipaddress = HttpContext.Current.Request.UserHostAddress;
                            if (!string.IsNullOrEmpty(ipaddress))
                            {
                                user.lastIPaddress = ipaddress;
                            }
                            QS.BLL.tUser bll = new QS.BLL.tUser();
                            user.lastLoingTime = DateTime.Now;
                            bll.Update(user);
                        }
                        break;
                    case "logout"://退出
                        HttpContext.Current.Session["user"] = null;
                        HttpContext.Current.Session["UserName"] = null;
                        break;
                    default:
                        break;
                }
            }
            else
            {
                return;
            }
        }
        catch (Discuz.Toolkit.DiscuzException ex)
        {
            Response.Write(ex.Message);
        }

}
}

转载于:https://www.cnblogs.com/Qbit/archive/2010/05/23/1741859.html

DNT论坛整合笔记二相关推荐

  1. DNT论坛整合笔记一

    消除状态调试状态 PageBase 类 (很多页面类继承这个类) 1062行 System.Web.HttpContext.Current.Response.Write(templateBuilder ...

  2. apache_php_tomcat基于主机名的多虚拟主机整合笔记

    <apache_php_tomcat基于主机名的多虚拟主机整合笔记> 环境:rhel4 x86-64 + apache2.0.52 + php5.2.17 + jdk1.6.0_29 + ...

  3. python rot13解密_codewars(python)练习笔记二十:ROT13解密

    codewars(python)练习笔记二十:ROT13解密 题目 How can you tell an extrovert from an introvert at NSA? Va gur ryr ...

  4. NodeJS笔记二---kalrry

    NodeJS笔记二---kalrry NodeJS 服务器 什么是服务器 web服务端保存的资源: web服务器(软件)的作用: nodeJS 介绍 目标 优势 劣势 特点: 环境安装 版本 运行 w ...

  5. 冯柯《我的ORACLE笔记二:关于回滚段》接力来袭!

    感谢大家对此文的关注!我们的活动还在继续中~您对文章内容有任何疑问时,欢迎您点击原文链接,填写阅读反馈表.我们不仅会邀请作者来回答问题,还会从中抽取一位粉丝赠送精美礼品一份哦~ <我的ORACL ...

  6. SpringCloud 2020笔记二

    SpringCloud 2020笔记二 Spring Cloud 2020 笔记一 五.GateWay Spring生态系统之上建立的 API 网关服务 基于Spring FrameWork 5.Pr ...

  7. qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...

  8. oracle直查和call哪个更快,让oracle跑的更快1读书笔记二

    当前位置:我的异常网» 数据库 » <>读书笔记二 <>读书笔记二 www.myexceptions.net  网友分享于:2013-08-23  浏览:9次 <> ...

  9. 【Visual C++】游戏开发笔记二十七 Direct3D 11入门级知识介绍

    游戏开发笔记二十七 Direct3D 11入门级知识介绍 作者:毛星云    邮箱: happylifemxy@163.com    期待着与志同道合的朋友们相互交流 上一节里我们介绍了在迈入Dire ...

最新文章

  1. PHP的Reflection反射机制
  2. 剑指offer:面试题24. 反转链表
  3. linux LyX中文编辑环境安装配置指南-TeX可视化工具
  4. MATLAB图像处理与数字信号处理资料分享来袭
  5. 父子继承与方法的重写 java 114818255
  6. 5G 还未商用,6G 研究已开始?!
  7. vue页面回显数据_解决vue表单回显数据无法修改的问题
  8. 如何把catia完全卸载干净_catia软件无法卸载怎么办?彻底删除catia等三维软件的方法...
  9. Struts2.3使用Sitemesh如何配置web.xml?
  10. Linux下 <用户名> 不在 sudoers 文件中。此事将被报告。
  11. windows GDI开发
  12. aix linux tcp连接数,修改windows、linux、aix等系统TCP/IP 参数
  13. 人脸识别门禁系统java实现_基于 Java 实现的人脸识别功能(附源码)
  14. tableau度量值计算_度量值与度量名称
  15. kubernetes v1.11 生产环境 二进制部署 全过程
  16. 7-4 打印九九口诀表 (15 分)
  17. 浅析安全启动(Secure Boot) —写得很好
  18. 华为视频会议终端TE40配置
  19. php随机调用百度背景图片,如何在网页中调用岁月小筑随机图片API——背景图片...
  20. 最新《Laravel5.4电商实战项目-联想商城》

热门文章

  1. SSL/TLS学习-ECDHE
  2. 点赞狂魔 (25 分) C语言
  3. Windows C盘容量不足,无损转移磁盘文件
  4. JAVA小程序-数学黑洞6174猜想
  5. css如何实现文字两端对齐效果
  6. matlab 光度 三维重构 code,基于matlab的三维点云数据三维重建
  7. 素材 | 本期10套优质素材推荐下载
  8. pixel xl9.0卡在网络验证的解决方法
  9. uni-app 全局消息通知弹窗(App端)
  10. 【100%通过率】华为OD机试真题 JS 实现【货币单位换算】【2023 Q1 | 100分】