问题描述
运行环境:windowsXPsp2,IIS5.1,.netFramework1.1,SQLServer2000,Discuz!NT1.0.2656,机器名“web”安装环境:本机的默认站点为我所做的.net网站,论坛放在默认站点下bbs目录中。本机访问网站使用“http://web/”,访问论坛使用“http://web/bbs”。现在可以正常访问论坛(登录,注册都没有问题)。在现在网站中的用户只有一个MemberID加入到Discuz论坛数据库中“dnt_users”表中。现在在网站中登录,我需要用MemberID和密码登录,我自己写的一个函数,来判断输入的MemberID和密码是否与“dnt_users”中的数据匹配。如果输入正确后,得到uid。然后调用论坛的登录方法登录,代码如下:LoginLogFactory.DeleteLoginLog(DNTRequest.GetIP());UserCreditsFactory.UpdateUserCredits(uid);ForumUtils.WriteUserCookie(uid,Utils.StrToInt(DNTRequest.GetString("expires"),-1),config.Passwordkey,DNTRequest.GetInt("templateid",0),DNTRequest.GetInt("loginmode",-1));OnlineUserFactory.UpdateAction(oluserinfo.Olid,UserAction.Login.ActionID,0,config.Onlinetimeout);UserFactory.UpdateUserLastvisit(uid,DNTRequest.GetIP());在登录后,本页可以读取出ForumUtils.WriteUserCookie所写入的几个cookie的值。但到论坛却显示不出用户登录信息。后来修改了Cookie的作用域为“web/”,即bbs/config/general.config文件中的“<CookieDomain>web/</CookieDomain>”。但在论坛中还是不能显示出用户信息。我在网站中建立了一个webform1.aspx文件,来读取Cookie信息,在论坛中使用admin登录后,可以读取出所有cookie信息。总结一下,就是网站和论坛都能正常登录,在网站中登录后,论坛无法识别,但在论坛中登录,网站中可以读取出在论坛中登录的信息。现在的问题是不是cookie的作用域设置有问题,请大家帮忙解决,多谢了!
解决方案
解决方案二:
没用过
解决方案三:
顶一下
解决方案四:
没整过
解决方案五:
up
解决方案六:
这个问题太抽象了.就是安全性的问题,因为Session啊,cookie啊都不能跨站的.而你的网站和你的论坛是两个不同的站点.这个问题解决起来好难啊,我也是这个问题没解决
解决方案七:
不是两个站点,是一个站点,论坛是在站点下的一个目录。
解决方案八:
UP
解决方案九:
发表于:2007-09-0116:31:085楼得分:0这个问题太抽象了.就是安全性的问题,因为Session啊,cookie啊都不能跨站的.而你的网站和你的论坛是两个不同的站点.这个问题解决起来好难啊,我也是这个问题没解决session不可以跨站,但COOKIE是可以的。Response.Cookies("User").Value="UtorName"Response.Cookies("User").Expires.AddDays(7)Response.Cookies("User").Domain="92696.com"Response.Cookies("User").Secure=False接收Response.Write(Request.Cookies("User").Value)