• 网站整合Discuz!NT论坛,网站用户和论坛用户统一并同步,详解(三)


    网站会员同步登录论坛,密码修改同步登录,但从论坛登录后的会员,网站中也相应同步登录状态,这就需要网站中要了解论坛的cookie信息,并做相应修改,就可以实现了。

    具体,在论坛中

    论坛-》全局-》注册与访问控制

    中的“身份验证Cookie域”输入框中输入“.bubufx.com”

    这样检测论坛登录后的cookie如下:

    userid=1
    password=wXfyrGgpQbknshQ5lZGRR3t4F2kU6EsbYTFutx8NmOYP3k6A2tKmQg%3d%3d
    tpp=0
    ppp=0
    pmsound=0
    invisible=0
    referer=index.aspx
    sigstatus=0
    expires=1440
    userinfotips= 

    根据这些cookie就可以在网站页面中实现论坛登录后同步到网站了

    if (!cm.isLogin())//网站会员未登录时,判断是否论坛会员已经登录,如登录就获得登录状态,设置网站的该会员为登录状态
                {
                    try
                    {
                        if (Request.Cookies["dnt"] != null && Request.Cookies["dnt"].Values["userid"] != null)
                        {
                            string uid = Request.Cookies["dnt"].Values["userid"].ToString();
                            
                            string cookieDomain = ".bubufx.com";//你的域名
                            DiscuzSession ds = WebSampleHelper.DiscuzSessionHelper.GetSession();
                            Discuz.Toolkit.User user = null;
    
                            user = ds.GetUserInfo(Convert.ToInt32(uid));
    
                            if (user != null)
                            {
                                //设置用户名是【user.UserName】的登录成功状态
                            }
                        }
    
    
                    }
                    catch { }
                }

    这样,网站的登录同步,注册用户同步,修改密码同步和论坛登录同步到网站就都实现了,再就是,论坛中的注册用户和修改密码,可以做一个跳转来实现和网站的数据同步,就是论坛中注册新用户时跳转到网站注册用户的界面,论坛中修改密码跳转到网站的修改密码页面,具体如下:

    注册用户时跳转,在register.aspx文件中,添加

    //后加,跳转到主站注册
    templateBuilder.Append("<script language=\"javascript\" type=\"text/javascript\">window.top.location.href = ’http://www.bubufx.com/reg.aspx’;</");
    templateBuilder.Append("script>");
    //

    大约在

    base.OnInit(e);
    
    templateBuilder.Capacity = 220000;

    代码之后。

    修改密码时跳转,在usercpnewpassword.aspx文件中,添加

    //后加,跳转到主站注册
    templateBuilder.Append("<script language=\"javascript\" type=\"text/javascript\">window.top.location.href = ’http://www.bubufx.com/member/memberpass.aspx’;</");
    templateBuilder.Append("script>");
    //

    大约在

    base.OnInit(e);
    
    templateBuilder.Capacity = 220000;

    代码之后。

    至此,网站会员同步论坛会员算是一个完整的解决方案了。

  • 相关阅读:
    线性变换
    施密特正交化
    春有它的记忆,秋有它的情怀
    最美的动作其实只需要嘴角上扬-微笑
    pomotime_v1.7.2 番茄软件完全教程
    NGUI 之 不为人知的 NGUITools
    Unity3D 开发 之 加载Android应用的环境
    Unity3D 开发 之 JDK安装与环境变量配置
    Tesseract 对验证码的识别原理和实现步骤
    sizeof_and_strlen 的区别
  • 原文地址:https://www.cnblogs.com/weekzero/p/3043775.html
Copyright © 2020-2023  润新知