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

接上篇:网站整合Discuz!NT论坛,网站用户和论坛用户统一并同步,详解(二)

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

 

具体,在论坛中

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

中的“身份验证Cookie域”输入框中输入“.bubuko.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 = ".bubuko.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.bubuko.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.bubuko.com/member/memberpass.aspx’;</");
templateBuilder.Append("script>");
//

大约在

base.OnInit(e);

templateBuilder.Capacity = 220000;

代码之后。

 

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



网站整合Discuz!NT论坛三部曲

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

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

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



布布分享原创技术分享,转载请注明:http://www.bubuko.com/infodetail-400950.html


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

上一篇:asp.net如何去掉自动生成aspNetHidden内容,或者form等冗余代码


下一篇:Android系统服务与服务注册