论坛|视频|图片
高级搜索
  所在位置:论坛首页 -> ┈┋BBSGood专区┋┈ -> 『BBSGood论坛交流』 -> bbsgood程序与其他系统的整合问题?
发表新的主题 发起新的投票 发起新的交易 发起新的任务 回复话题
 标题:bbsgood程序与其他系统的整合问题?
 作者:chunjiang8 发表于 2007-7-3 13:04:54收藏 编辑 删除 楼主  | 上一篇 下一篇

我想用bbsgood程序与其他系统的整合,也就是与同时登陆注册的

我按照如下说的一步的来,但还是整合不了,能把一些步骤或者要注意的地方说下吗?谢谢了

目前的很多网站,不只是一个论坛,可能还有其它的系统在同一个网站中运营,BBSGood作为论坛如何与其它系统进行整合呢

    其实官方已经提供了一个接口,接口只有一个文件,即: check.asp,在这个文件中,提供了以下说明:

    调用方法:请将:<****** src=check.asp?passtype=0&username=用户名&password=密码></******> 代码,按要求加入在另一个程序登陆和修改密码成功的地方。 username参数为用户名,password为密码,passtype=0为password参数未经过md5加密,如果passtype=1则已经经过md5的加密,check.asp的目标位置是放在论坛的根目录

   在这里我详细介绍一下整合的原理:

    1. 对方的程序登陆成功后,会将用户名和密码一时保留在那个登陆成功的页面中。

    2.我们现在要做的是,对方登陆成功后,我们将这个用户名和密码再发送到论坛中,让论坛也用这个用户名和密码去登陆。

    3. 论坛将判断,对方发送过来的用户名和密码是否已经保存在论坛中,如果已经有了,就到对方的数据库中去较验,发送过来的密码是否正确,较验通过后,进入登陆状态。如果论坛还没有这个用户名,那么就到对方的数据库中较验,较验通过后,将这个用户名和密码自动添加到论坛的用户数据库中,并进入登陆状态。

    而check.asp 就起到接收对方登陆成功后,发送过来的用户名和密码的责任,check.asp是通过get的形式来接收数据库,具体参数上面已经介绍。

那么现在我们只要在对方登陆成功的页面,将用户名和密码通过get的形式,调用论坛的check.asp,发送给论坛

调用check.asp有二种方法:

一种是:<****** src=check.asp?passtype=0&username=用户名&password=密码></******>

第二种是:<****** width=0 height=0 src=check.asp?passtype=0&username=用户名&password=密码></******>

我们建议使用第二种

    这一步成功后,注意这时你的数据库连接是错误的,因为默认的论坛数据库连接只能连接论坛数据库,不能连接对方程序的数据库,那么为什么用户名密码都发送过来了,还要设置对方的数据库配置,在这里刚才已经提到了,用户名和密码接收后,是不是正确,是不可信任的,因为是通过get方式接收的,所以还要到对方的数据库中去较验一下的,所以你还要在论坛conn.asp文件中,设置整合的数据库配置,具体可以打开conn.asp文件,后面有整合对方的数据库设置注释说明。

在conn.asp中的位置如下:

本帖相关代码

'=======================外部表整合参数设置开始==========================
Const isoutuser=0 '如果此项为0那么用户名,密码不使用外部数据库或表,如果为1,表示整合到其它系统,用户名和密码采用其它系统的表

if isoutuser=1 then '如果使用外部连接表
    Const OutDataType=0 '如果此项为0.那么表示使用access数据库,如果此项为1,那么表示采用mssql数据库
   
    Const User_out="user"  '外部数据库表名
    Const UserName_out="username"  '外部数据库用户表,用户字段
    Const PassWord_out="password"  '外部数据库用户表,密码字段
   
    Const reg_out="http://www.xxx.com/reg.asp"  '外部用户名注册地址
    Const userinfo_out="http://www.xxx.com/edit.asp" '外部密码修改地址
    Const userlogin_out="http://www.xxx.com/login.asp" '外部帐号登陆地址

    If OutDataType = 1 Then
        '必修改设置二:=================sql数据库设置===================
        'sql数据库连接参数:数据库名(sqlDatabaseName)、用户密码(sqlPassword)、用户名(sqlUsername)、
        '连接名(sqlLocalName)(本地用local,外地用IP)
        Const OutsqlDatabaseName = "bbsgood"
        Const OutsqlPassword = "sa"
        Const OutsqlUsername = "sa"
        Const OutsqlLocalName = "(local)"
    Else
        '必修改设置三:=============access数据库设置===========
        '免费用户第一次使用请修改本处数据库地址并相应修改data目录中数据库名称,如:将bbsgood_speed.mdb修改为bbsgood_speed.asp
        Const OutDb="/bbs/data/bbsgood_speed.mdb" '数据库路径
    End IF
end if

顶部
 作者:chunjiang8 发表于 2007-7-3 13:07:36编辑 删除 引用   第2楼 

希望哪个高手能指点一二,小弟感激不尽了。

顶部
 作者:chunjiang8 发表于 2007-7-4 10:25:07编辑 删除 引用   第3楼 

我按照上面你说的弄了,还是没有效果,改怎么办呢,谢谢了!!

顶部
 作者:chunjiang8 发表于 2007-7-4 10:51:48编辑 删除 引用   第4楼 

在登陆成功的页面是如何调用的?我的是

name=checktext(request("userid"))
pass=checktext(request("password"))
url=request("url")

if name<>"" and pass<>"" then

 
 
  sql="select ID,name from user where name='" & name & "' and pass='" & pass & "'"
  rs.open sql,conn,1,1
  if rs.eof then
   MSG="错误的用户名或密码,请重新登录"
  else
   Session("wk_userid")=rs("ID")
   Session.TimeOut =30
   MSG="欢迎您,"& rs("name")
   %>
   
   <****** src=check.asp?passtype=1&password=<%=pass%>&username=<%=name%>></******>
   
 <%
   sql="select mp from wk_mp where userid='" & rs("ID") & "'"
   rs.close
   rs.open sql,conn,1,1
   mp=0
   while not rs.eof
    mp=mp+CLng(rs("mp"))
   rs.movenext
   wend
   rs.close

哪位高手能指点指点吗?

顶部
 快速回复
  • 支持UBB,HTML标签

  • 高级回复

  • 操作选项: 加精 解精 奖惩 设专题 设公告 解公告 固顶 总固顶 解固顶 结帖 解结帖 锁帖 解锁 移帖 删帖

    Copyright © 2004-2007  BBSGood.com Powered By: BBSGood.Speed Version 4.0

    首页 | 购买指南 | 商业版本 | 虚拟主机 | 特色介绍 | 下载中心 | 支付方式

    咨询电话:0575-84065635(传真)、7*24小时咨询服务:13606552007
    业务QQ:38958768、客服QQ1:415896239、客服QQ2:343896043、MSN:jccsxx@hotmail.com
    不良信息举报中心 浙ICP备05029817号