asp域验证的问题。高手指教

fairy8 2006-08-14 09:38:17
按照 ghostzp 的代码
a.asp:
<form action="b.asp" method="post">
域用户:<input type=text name=id><br/>
域密码:<input type=text name=pwd><br/>
登陆域:<input type=text name=domain><br/>
<input name=sub type=submit value="提交">
</form>

b.asp:
<script language=javascript RUNAT="SERVER">
function logonDoADLogon(p_strDomain, p_strUserID, p_strPWD)
{ //return true;
var f_oIADS, f_oUser, f_oContainer;
var f_blnRet = true;

try
{
var f_oIADS = GetObject('WinNT:');
f_oContainer = f_oIADS.OpenDSObject('WinNT://' + p_strDomain, p_strDomain + "\\" + p_strUserID, p_strPWD, 0);

delete f_oContainer;
delete f_oIADS;
}
catch (e)
{
return false;
}

try
{
var objUser = GetObject("WinNT://" + p_strDomain + "/" + p_strUserID );
delete objUser;
}
catch(e){
return false;
}

return true;
}
</script>

<%
id=trim(request("id"))
pwd=trim(request("pwd"))
domain=trim(request("domain"))
if logonDoADLogon(domain,id,pwd) then
response.write "True"
else
response.write "False"
end if
%>代码试用过了,可是出了一点问题。我在局域网中,自己的机器上实验,用自己的域帐户和密码确实可以正确验证,但是到了别人的机器上也只能我的域帐户和密码进行验证。简单说就是,无论在域中哪个机器上登陆网站,都只能用IIS服务器这台机器的域的帐户和密码验证登陆,域中的别的用户无法验证通过,是何原因?有人知道吗?
难道是代码在服务器端运行的原因吗?还是我的机器权限不够?

请高手解决。

我想如果代码移到客户端验证 ,可是没有成功。哪位高手指点一下。
...全文
328 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
olindzhou 2006-08-18
  • 打赏
  • 举报
回复
晕死,是你没有明白web方式与验证的真正含义
不管那个页面时在那台机器上通过验证的

在域控制器中每个帐号的属性的帐户那个选项卡中都有一项叫做登录到
你点击那个
那里面可以选择用户可以登录到指定的计算机或者所有的计算机,一般在域里面都是限制用户只能登陆自己的计算机

而web方式的域身份验证
是通过web服务器模拟域用户登录,把输入的域用户的用户名和密码提交给域控制器,可是在域控制器那边,它会认为该用户在登陆那台web服务器,如果域控制器中作了限制,域是不会让他登陆的

这就是我要说的,web服务器和域控制器可以不是一台机器的
另外 我的事windows 2003 的在做域验证的时候
是要勾上匿名访问。我用asp和asp.net都作过域的验证的

还不明白,我可以帮助你olindzhou@hotmail.com
hurrayboy 2006-08-18
  • 打赏
  • 举报
回复
关注!学习一下!
fairy8 2006-08-17
  • 打赏
  • 举报
回复
olindzhou 你说是不是必须我的web服务要和域服务器是一台机器才行,即使不是一台机器也要有足够的权限。
fairy8 2006-08-17
  • 打赏
  • 举报
回复
olindzhou你说的和我不完全是一个意思。我的目的是网站的用户认证和域帐户联系在一起,用户登陆的时候,无须事先注册,输入自己在WINDOW登陆域的帐户和密码就可以了,通过读取域服务器活动目录上的域帐户和密码来认证用户是否有权限。我的机器也是这个域中的一个,但是不是域服务器(普通帐户)。我现在用我的机器做IIS服务器。可是只能用我的域帐户和密码通过认证(无论在域中哪台机器上),我怀疑权限的问题,必须把IIS服务器和域服务器必须是一台机器才能实现。或者认证可以做到客户端验证可能能够解决,但是好象在客户端代码总是不执行。不知道谁有作过这个方面的?遇到过相同的问题的。给解决一下。
tippointGmail 2006-08-17
  • 打赏
  • 举报
回复
iis----站点---目录安全性-----匿名访问和验证控制-----取消匿名访问,选择基本验证或域验证
taochunsong 2006-08-16
  • 打赏
  • 举报
回复
有个域管理的,
olindzhou 2006-08-16
  • 打赏
  • 举报
回复
给分给分啦~
olindzhou 2006-08-16
  • 打赏
  • 举报
回复
登录验证可以很简单的用不着你那么写哦
olindzhou 2006-08-16
  • 打赏
  • 举报
回复
那是因为域控制器的问题
如果你是域管理员,在域控制器的用户一栏中你的权限是可以登录所有的计算机的
而其他的普通用户就不行
因为这种web的登陆方式是通过模拟域用户登录的
所以你要让别人的用户可以通过验证,必须要给那个用户登录这台计算机的权限
fairy8 2006-08-16
  • 打赏
  • 举报
回复
有人知道是怎么回事吗?
fairy8 2006-08-14
  • 打赏
  • 举报
回复
高手指点
非凡笨笨 2006-08-14
  • 打赏
  • 举报
回复
不太懂你的意思~~~帮你顶顶~~
fairy8 2006-08-14
  • 打赏
  • 举报
回复
高手执教

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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