木子屋 Dnawo's BLOG

Dvbbs8.1整合后无法同步登录解决方法

👤 dnawo 📅 2008-01-16 👁 5745 👍 0 💬 1 🔄 本站原创
使用"个人网站与动网整合步骤(支持PDO1.0)"中的会员系统整合Dvbbs7.1和8.0均能成功,但整合Dvbbs8.1时发现一个问题:从论坛中登录时论坛可以登录成功但会员系统中却没登录成功。会员系统肯定没问题,那问题就该在论坛上了,于是查看了登录相关函数(login.asp中Dvbbs_ChkLogin函数),下边是部分代码:

Dim comeurlname
If instr(lcase(request("comeurl")),"reg.asp")>0 or instr(lcase(request("comeurl")),"login.asp")>0 or trim(request("comeurl"))="" or instr(lcase(request("comeurl")),"index.asp")>0 Then
	comeurlname=""
	If isUrlreWrite = 1 Then
		Comeurl="index.html"
	Else
		comeurl="index.asp"
	End If
Else
	comeurl=request("comeurl")
	comeurlname="<li><a href="&request("comeurl")&">"&request("comeurl")&"</a></li>"
End If

[color=Red]If comeurl = "index.asp" Then
	Response.Redirect "index.asp"
	Response.End
End If[/color]

Dim TempStr
TempStr = template.html(2)
'If Dvbbs.Forum_ChanSetting(0)=1 And Dvbbs.Forum_ChanSetting(10)=1 And Dvbbs.Forum_ChanSetting(12)=1 Then
'	TempStr = Replace(TempStr,"{$ray_logininfo}",template.html(3))
'Else
'	TempStr = Replace(TempStr,"{$ray_logininfo}","")
'End If
'-----------------------------------------------------------------
'系统整合
'-----------------------------------------------------------------
[color=Blue]If DvApi_Enable Then
	Response.Write DvApi_SaveCookie
	Response.Flush
End If[/color]
'-----------------------------------------------------------------

上边红色部分在Dvbbs7.1和8.0均没有,是Dvbbs8.1新加上去的,问题就出现在它身上!按《PDO通行接口开发人员参考规范1.0》4.3节中说明:

发送请求方解析检验方返回的xml数据说明可以登陆成功时,则应当构造一个script脚本调用,输出到页面的HTML代码。 当password为空表示注销COOKIE信息。

上边代码中蓝色部分就是输出script脚本的,但由于红色代码的存在,导致这个构造的script脚本没有输出到页面,导致从论坛上登录不成功!这也是为什么论坛登录成功了但会员系统却没登录成功!解决方法是:去掉上边代码红色部分!

评论(1)

sky717 2008-01-17 09:14
强哥.真的很快..🍀🍀
计算题
评论需审核通过后显示
← 上一篇 Firefox自动对url中的中文进行编码导致乱码 下一篇 → 统计站点Application和Session个数