zoukankan      html  css  js  c++  java
  • Discuz!NT3.6与网站整合(操作用户信息)解决方案

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

    主站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 将 <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.如果以后论坛架设到另外一台服务器上,需要考虑如何来调用的问题了,如果数据库主站不能访问的话,那就需要考虑其它方法了。

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

  • 相关阅读:
    poj 2488 DFS
    畅通工程 并查集模版
    KMP 模板
    poj 1426 DFS
    poj 2528 线段数
    poj 3468 线段数 修改区间(点)
    CVPR2012文章阅读(2)A Unified Approach to Salient Object Detection via Low Rank Matrix Recovery
    如何制定目标
    Saliency Map 最新综述
    计算机视觉模式识别重要会议杂志
  • 原文地址:https://www.cnblogs.com/amylis_chen/p/4840694.html
Copyright © 2011-2022 走看看