整合discuz论坛时,网站Cookie在论坛不起作用。

aqqzy 2007-09-01 04:06:46
运行环境:
windows XP sp2,IIS5.1,.net Framework1.1,SQL Server 2000 ,Discuz!NT 1.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的作用域设置有问题,请大家帮忙解决,多谢了!
...全文
356 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
huayy 2007-10-31
  • 打赏
  • 举报
回复
发表于:2007-09-01 16: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)
aqqzy 2007-09-02
  • 打赏
  • 举报
回复
UP
aqqzy 2007-09-01
  • 打赏
  • 举报
回复
不是两个站点,是一个站点,论坛是在站点下的一个目录。
xiao_jun_0820 2007-09-01
  • 打赏
  • 举报
回复
这个问题太抽象了.就是安全性的问题,因为Session啊,cookie啊都不能跨站的.而你的网站和你的论坛是两个不同的站点.这个问题解决起来好难啊,我也是这个问题没解决
p405061658 2007-09-01
  • 打赏
  • 举报
回复
up
yitian130 2007-09-01
  • 打赏
  • 举报
回复
没整过
aqqzy 2007-09-01
  • 打赏
  • 举报
回复
顶一下
Dleno 2007-09-01
  • 打赏
  • 举报
回复
没用过
内容发布系统NetCMS与Discuz论坛整合源码 本代码将NetCMS与Discuz!NT3.1进行注册、登录、退出等功能的整合整合过程如下: 整合环境: 1、NetCMS和Disicuz的架设请参考相关的文档说明,但要注意不要用XP的IIS5.0进行测试,直接用服务器的IIS测试; 2、在VS下直接调试运行NetCMS的登录(user/Logout.aspx)会出错,最好直接在架设好的环境下测试。 论坛设置: 1、架设好Discuz论坛,打开Discuz论坛系统后台->扩展->通行证设置,通行证的返回地址设置为NetCMS的回调页面地址(此回调页面用于处理CMS的登录退出等功能),如:http://http://netcms.com/api/discuz/apicallback.aspx,此回调页面在源代码的api/discuz/apicallback.aspx下,开发人员可根据需求在这个页面里进行其他的功能处理; 2、打开Discuz论坛系统后台->常规选项->基本设置,找到"身份验证Cookie域"选项,在此填入NetCMS系统的域,如: .netcms.com,注意这项一定要和NetCMS设置里第1条web.config里设置的DNTCookieDomain值一样。 NetCMS设置: 1、在web.config里将配置节里的DNTCookieDomain设置为论坛域,DNTAPIKey,DNTSecert,DNTWebServer修改为在论坛后台扩展设置里获取到的相应值。 2、架设NetCMS,整合就完成了。 整合代码修改说明: 1、引用了DiscuzToolkit插件,用于discuz论坛api接口调用; 2、在API/Discuz目录下添加apicallback.aspx程序页,用于处理论坛回调请求处理; 3、在API/Discuz目录下添加DiscuzSessionHelper.cs,用于实例化论坛API接口; 4、在user/Login.aspx.cs、user/Logout.aspx.cs、user/Register.aspx.cs、user/UserLoginajax.aspx.cs里添加了相应的整合代码; 5、修改了NetCMS源码版本安装初始化数据,首页不能登录和退出等几个bug。
内容发布系统NetCMS与Discuz论坛整合源码 本代码将NetCMS与Discuz!NT3.1进行注册、登录、退出等功能的整合整合过程如下: 整合环境: 1、NetCMS和Disicuz的架设请参考相关的文档说明,但要注意不要用XP的IIS5.0进行测试,直接用服务器的IIS测试; 2、在VS下直接调试运行NetCMS的登录(user/Logout.aspx)会出错,最好直接在架设好的环境下测试。 论坛设置: 1、架设好Discuz论坛,打开Discuz论坛系统后台->扩展->通行证设置,通行证的返回地址设置为NetCMS的回调页面地址(此回调页面用于处理CMS的登录退出等功能),如:http://http://netcms.com/api/discuz/apicallback.aspx,此回调页面在源代码的api/discuz/apicallback.aspx下,开发人员可根据需求在这个页面里进行其他的功能处理; 2、打开Discuz论坛系统后台->常规选项->基本设置,找到"身份验证Cookie域"选项,在此填入NetCMS系统的域,如: .netcms.com,注意这项一定要和NetCMS设置里第1条web.config里设置的DNTCookieDomain值一样。 NetCMS设置: 1、在web.config里将配置节里的DNTCookieDomain设置为论坛域,DNTAPIKey,DNTSecert,DNTWebServer修改为在论坛后台扩展设置里获取到的相应值。 2、架设NetCMS,整合就完成了。 整合代码修改说明: 1、引用了DiscuzToolkit插件,用于discuz论坛api接口调用; 2、在API/Discuz目录下添加apicallback.aspx程序页,用于处理论坛回调请求处理; 3、在API/Discuz目录下添加DiscuzSessionHelper.cs,用于实例化论坛API接口; 4、在user/Login.aspx.cs、user/Logout.aspx.cs、user/Register.aspx.cs、user/UserLoginajax.aspx.cs里添加了相应的整合代码; 5、修改了NetCMS源码版本安装初始化数据,首页不能登录和退出等几个bug。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧