DiscuzNT 论坛与主站的同步登录与退出

DiscuzNT 论坛与主站的同步登录与退出首先我先说明一下,我参考了这篇文章:http://nt.discuz.net/showtopic-49836.html,在这篇文章启发下简单化。我装的是2.5测试版版论坛域名是:forum.web.net(虚拟)网站域名是:www.web.net(虚拟也是)先用管理员帐户进入论坛后台在基本设置中,将"身份验证饼干域:"设置为。web.net论坛配置好后,复制箱子文件夹的Discuz .Forum.dll,Discuz .实体. dll,Discuz .Data.dll,Discuz .数据。SqlServer.dll和Discuz .Common.dll到网站的箱子下。同样,DNT .配置也放到网站根目录贴个代码看,更清楚些。复制代码代码如下:使用系统;使用系统。收藏;使用系统。配置;使用系统。数据;使用系统网页。使用Discuz .论坛;使用Discuz .常见;使用Discuz .实体;命名空间网站{ public partial class _ Default:System .网络。ui。Page { protected void Page _ Load(对象发送方,EventArgs e) { //下面的判断作用是:检测甜饼干中是不是有论坛的用户id,如果有就说明有用户登录如果(请求饼干[ DNT ]!=空请求。饼干。值[userid]!=null) { //从甜饼干中获得UserID int uid=Convert .ToInt32(请求。饼干。值[userid].ToString());//得到这个用户的全部信息UserInfo a=Discuz .论坛。用户。获取userinfo(uid);//打印出来看看对不对100 .回应。写(答。用户名);//这句代码是退出!清除饼干!论坛清除用户cookie();} else //没有用户?看我怎么登录的!{ //先设俩变量string uname= rohan string upass= my password//验证用户登录如果正确返回用户ID,否则返回-1 int uid=Users .CheckPassword(uname,upass,true);如果(uid!=-1) { //下面都是官方整合说明文档里的内容了登录日志.DeleteLoginLog(DNTRequest .GetIP());//根据积分公式刷新用户总积分用户信用更新用户信用(uid);//写入用户登录后的cookie //注意这里有点特殊,原文是//ForumUtils .WriteUserCookie(uid,Utils .StrToInt(DNTRequest .GetString(expires ),-1),配置.密码密钥,DNT请求.GetInt(templateid ,0),DNTRequest .GetInt(loginmode ,-1));//这里我把配置。密码密钥直接从论坛配置文件夹下的通用配置文件的节点提取出来了。这样就不用把论坛的相关文件拷贝到网站上了论坛WriteUserCookie(uid,Utils .StrToInt(DNTRequest .GetString(expires ),-1), R254842J4Z ,DNTRequest .GetInt(templateid ,0),DNTRequest .GetInt(loginmode ,-1));//更新该用户最后访问时间用户UpdateUserLastvisit(uid,DNTRequest .GetIP());} }}} }

DiscuzNT 论坛与主站的同步登录与退出