Discuz!NT 2.5 beta下载测试
类库文档在线查看
Comsenz 招聘信息
首届Discuz!NT 模板大赛圆满结束
著名音乐网站SoGua网、分贝网
采用Discuz!NT搭建社区
FIFA Online2官网论坛使用Discuz!NT
游戏城寨论坛使用Discuz!NT搭建
要灌, 就灌有技术含量的水
一起交流学习ASP.net吧!
17套Discuz!NT界面模板提供下载
Discuz!NT后台截图先睹为快
Discuz!NT文档中心
用户整合说明文档
Discuz!NT亮相微软Tech-Ed 2007
Discuz!NT情景搞笑短片抢先看
1/3页123 跳转到查看:16251
发新话题 回复该主题

[初级用户指南]二、ASP系统登陆Discuz!NT的几种解决方案

[初级用户指南]二、ASP系统登陆Discuz!NT的几种解决方案

方法一:
        最简单安全的方法就是采用雪人大哥的《ASP整合Discuz!NT用户登录范例》,这种方式我就不多说了,雪人大哥的帖子里讲的比较详细了,我补充一些内容:

<%
Rem ==============参数设置开始================
Rem ==========================================
Rem  设置论坛Url地址,请根据你的实际情况修改
Rem  注意只要目录,不要文件名,例如:
Rem  正确用法: http://www.abc.com/bbs
Rem  错误用法: http://www.abc.com/bbs/index.aspx
Rem ==========================================
url_dnt = "http://www.abc.com/bbs"
Rem ==========================================
Rem  设置Discuz!NT登录完毕后返回的Url地址,请根据你的实际情况修改
Rem ==========================================
url_return = "http://www.abc.com/main.asp"
Rem ==============参数设置结束================
%>


url_return = "http://www.abc.com/main.asp"一句,在理论上和实际操作上都可以设置成任何页面,也就是你成功登陆后返回的页面

<script language="javascript"> 
function postdntloginform(username, password, question, answer) 

  document.dntloginform.action="<%=url_dnt%>/login.aspx?reurl=<%=%>"; 


改成

<script language="javascript"> 
function postdntloginform(username, password, question, answer) 

  document.dntloginform.action="<%=url_dnt%>/login.aspx?reurl=<%=url_return%>"; 


方法二:
        此方法基本原理和雪人大哥的代码基本一致,只是考虑到大多数用户使用习惯,将整个登陆做了部分修改,此种方式支持FORM的GET和POSE或者直接URL接受参数后跳转登陆,由于我自己的系统是已经同步了主站和论坛用户,所以我将原有代码的用户判断部分和密码提示问题答案(问题答案需要去后台关掉)已经去掉:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>用户登录</title>
</head>
<body>
<%
'以下是你论坛的地址,后面不需要跟具体页面,只要域名就OK
url_dnt = "http://bbs.loour.com"
'以下是登陆成功后的默认跳转页面,或者接受url参数跳转
If request("url")<>"" then
url_return = request("url")
else
url_return = "http://bbs.loour.com/main.asp"
end if
%>
<form name="dntloginform" method="post" action="#">
  <input name="username" type="hidden" id="username" />
  <input name="password" type="hidden" id="password" />
</form>
<script language="javascript"> 
function postdntloginform(username, password) 

  document.dntloginform.action="<%=url_dnt%>/login.aspx?reurl=<%=url_return%>"; 
  document.dntloginform.username.value=username;
  document.dntloginform.password.value=password;
  document.dntloginform.submit(); 

</script>
<%
if request("username")<>"" then
strUsername = request("username")
strPassword = request("password")
  response.write "<" & "script language=javascript>postdntloginform('" & Server.URLEncode(strUsername) & "','" & Server.URLEncode(strPassword) & "');</script" & ">"
  response.end
end if
%>
</body>
</html>


将以上代码存为tiaozhuan.asp,然后进行调用
调用一:

<form id="form1" name="form1" method="post" action="tiaozhuan.asp">
<input type="hidden" name="url" value="此处填写登陆成功后跳转页面,为空将跳转到默认页面" />
  <table width="500" border="0" align="center" cellpadding="4" cellspacing="1" bgcolor="#F9F9F9">
    <tr>
      <td colspan="2" align="center" bgcolor="#CCCCCC">用户登录</td>
    </tr>
    <tr>
      <td width="30%" align="right">用户名:</td>
      <td width="70%"><input name="username" type="text" id="username" size="20" /></td>
    </tr>
    <tr>
      <td align="right">密码:</td>
      <td><input name="password" type="password" id="password" size="20" /></td>
    </tr>
    <tr>
      <td> </td>
      <td><input type="submit" name="Submit" value="登 录" /></td>
    </tr>
  </table>
</form>


调用二:
直接用url进行链接,由于Discuz!NT的Login.aspx不接受MD5加密过的密码,所以这种方式不推荐使用,安全性极低,如果Discuz!NT的Login.aspx更改为接受MD5加密过的密码,那么这种方式将推荐使用

tiaozhuan.asp?username=XXX&password=XXX(明文密码)&url=(登陆成功后跳转页面,留空为默认调整页面)


时间仓促,没有完善和没有写到的地方下午继续补充上去



系列文章:

[初级用户指南]三、ASP系统调用Discuz!NT论坛内容实例详解
最后编辑雪人 最后编辑于 2007-05-11 20:45:05
致力于解决Discuz!NT&Discuz!5.0的普遍性问题!
大多数人的问题就是我的问题,解决才是硬道理!
筹建DISCUZ!NT插件策划及开发小组!

TOP

 

回复:[初级用户指南]二、ASP系统登陆Discuz!NT的几种解决方案

这样是可行,但是会跳来跳去,比如我用OBLOG,要LOGIN两次,虽然只输入一次帐号,但是用户会有疑虑被盗号的怀疑
我命由我不由天~
80社区

TOP

 

回复:[初级用户指南]二、ASP系统登陆Discuz!NT的几种解决方案

你可以用一个FORM提交2组数据到2个地方
致力于解决Discuz!NT&Discuz!5.0的普遍性问题!
大多数人的问题就是我的问题,解决才是硬道理!
筹建DISCUZ!NT插件策划及开发小组!

TOP

 

回复:[初级用户指南]二、ASP系统登陆Discuz!NT的几种解决方案

一个FORM提交2组数据到2个地方

还望给个例子
我命由我不由天~
80社区

TOP

 

回复:[初级用户指南]二、ASP系统登陆Discuz!NT的几种解决方案

看一下。。。
http://cndns.5d6d.com
http:///www.lovenio.cn
http://www.softorg.cn

TOP

 

回复:[初级用户指南]二、ASP系统登陆Discuz!NT的几种解决方案

nion6: 学习一下。。

TOP

 

回复:[初级用户指南]二、ASP系统登陆Discuz!NT的几种解决方案

学习一下。。

TOP

 

回复:[初级用户指南]二、ASP系统登陆Discuz!NT的几种解决方案

学习~~

TOP

 

回复:[初级用户指南]二、ASP系统登陆Discuz!NT的几种解决方案

nion11: 好深奥哦~~学习一下
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.7.12) Gecko/20050915

TOP

 

回复:[初级用户指南]二、ASP系统登陆Discuz!NT的几种解决方案

学习了!

TOP

 
1/3页123 跳转到
发表新主题 回复该主题