做AD访问时遇到的奇怪的权限问题?求解!!!!!

598 2007-11-30 02:49:59
我使用ASP制作一个检查某用户名是否在AD中。
代码如下:
<%@ language="VBScript" %>
<%
strUserName = "我的用户名"
Set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.Open "Provider=ADsDSOObject;"

Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection

objCommand.CommandText = "<LDAP://DC=MyDomain,DC=corp,DC=MyCompany,DC=com>;(&(objectCategory=User)" & "(samAccountName=" & strUserName & "));samAccountName;subtree"

Set objRecordSet = objCommand.Execute

If objRecordset.RecordCount = 0 Then
Response.Write "AccountName: " & strUserName & " does not exist."
Else
Response.Write strUserName & " exists."
End If

objConnection.Close
%>

这段代码在我把IIS中匿名用户设为我的账号(在本机administrators组)并启用匿名访问时运行正常。
但是如果我使用集成windows验证模式(此时禁用匿名访问),就出现错误:
Error Type:
Provider (0x80040E37)
Table does not exist.
/FastHelpTestWeb/test.asp, line 12
那个第12行就是Set objRecordSet = objCommand.Execute

按道理说如果我使用集成windows验证模式当前的运行账号就是我啊,这个我用.net代码跟踪过,当前线程的运行账号System.Threading.Thread.CurrentPrincipal.Identity.Name就是我的名字,而我在administrators组。

这是什么原因?
我现在的应用程序要求使用集成windows验证模式,这可怎么办。
...全文
114 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
搬运工865 2007-12-02
  • 打赏
  • 举报
回复
没见过这么写的

SQL升级版?????
mh_rock 2007-12-02
  • 打赏
  • 举报
回复
mark,...
up..
yanniu008 2007-12-02
  • 打赏
  • 举报
回复
没见过这样写的 关注中...
yzxlyd 2007-12-01
  • 打赏
  • 举报
回复
up
BoyHaXin 2007-11-30
  • 打赏
  • 举报
回复
帮顶一下。。。
tantaiyizu 2007-11-30
  • 打赏
  • 举报
回复

高难问题 ...

28,390

社区成员

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

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