'''函数功能:查询域用户信息
'''参数说明:strAdmin-域管理账户;Password-域帐户密码;Domain-域服务器。

'''

''' 参考资料:http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/ASP/Q_23947512.html

''' 搜索:Query LDAP For Existing User   Classic ASP 在 www.experts-exchange.com

function getADUserData(strAdmin,strPassword,Domain,userName)

If  AuthenticateUser(strAdmin,strPassword,Domain)=False Then '如果管理员认证失败则退出此过程

Response.Write "认证失败。"

Exit function

End If

Dim Conn, strRS, RS, strConn 

Set Conn = Server.CreateObject("ADODB.Connection") 

Set RS = Server.CreateObject("ADODB.Recordset") 

 

Conn.Provider = "ADsDSOObject" 

Conn.Properties("User ID") = strAdmin

Conn.Properties("Password") = strPassword

Conn.Properties("Encrypt Password") = True

strConn = "Active Directory Provider" 

Conn.Open strConn , strAdmin, strPassword

strRS = "SELECT name FROM 'LDAP://" & Domain & "' WHERE sAMAccountName = '"&userName&"' ORDER by name " 

RS.Open strRS, Conn,1,1

While RS.EOF = False 

getADUserData=rs.Fields("name")

RS.MoveNext 

Wend

End function

'''函数功能:验证域用户账号密码

'''参数说明:UserName-域账户;Password-域帐户密码;Domain-域服务器。

'''返回: 用户存在且账号密码正确则返回True,否则返回False;

''' 参考资料:http://stackoverflow.com/questions/3894835/ldap-asp-classic-adodb-2147217865-using-ldap-to-talk-to-active-directory

''' 搜索:LDAP + ASP Classic + ADODB  在 stackoverflow

''' 搜索:Getting Started with ASP for ADSI 在 微软MSDN

function AuthenticateUser(UserName, Password, Domain)

dim strUser 

' assume failure 

AuthenticateUser = false  

strUser = UserName

strPassword = Password

strQuery = "SELECT cn FROM 'LDAP://" & Domain & "' WHERE objectClass='*' " 

set oConn = server.CreateObject("ADODB.Connection") 

oConn.Provider = "ADsDSOOBJECT" 

oConn.Properties("User ID") = strUser 

oConn.Properties("Password") = strPassword 

oConn.Properties("Encrypt Password") = true 

oConn.open "DS Query", strUser, strPassword

set cmd = server.CreateObject("ADODB.Command") 

set cmd.ActiveConnection = oConn 

cmd.CommandText = strQuery 

on error resume next 

set oRS = cmd.Execute 

if oRS.bof or oRS.eof then

AuthenticateUser =  false 

else    

AuthenticateUser = True 

end if 

set oRS = nothing 

set oConn = nothing  

end function

'''调用:

ADUserName=getADUserData("已知账户","已知密码","yourDomain.com","要查询的域账户")

ASP 验证、查询AD域账户信息的更多相关文章

  1. 获取和验证Windows AD域的用户信息

    1.获取windows AD域用户信息,首先需要有一个ad域管理员权限的账号,用这个账号连接ad域,获取所有域用户信息 用LdapContext,它继承自DirContext public Objec ...

  2. ASP.NET站点Windows身份验证集成AD域,非LDAP

    站点集成AD域验证 服务器机器入域 计算机右键属性-->“更改设置”-->“更改”-->填写所属域,确认后重启机器生效. 部署测试站点,localhost.ip.域名三种方式登录效果 ...

  3. windows批处理添加AD域账户

    因为要用个批处理命令在Windows Server里面批量添加域用户,所以需要使用批处理命令. 我这篇是纯新手教程,在百度上搜了一些批处理命令感觉属于进阶教程,研究了两天才完成我要完成的目标. 下面从 ...

  4. ASP.NET Core AD 域登录

    在选择AD登录时,其实可以直接选择 Windows 授权,不过因为有些网站需要的是LDAP获取信息进行授权,而非直接依赖Web Server自带的Windows 授权功能. 当然如果使用的是Azure ...

  5. ASP.NET Core AD 域登录 (转载)

    在选择AD登录时,其实可以直接选择 Windows 授权,不过因为有些网站需要的是LDAP获取信息进行授权,而非直接依赖Web Server自带的Windows 授权功能. 当然如果使用的是Azure ...

  6. C#读取AD域用户信息

    private const string domainName = "本机IP地址或域名"; private const string adAdmin = "管理员帐号& ...

  7. asp.net 查询本地excel 获取信息

    string filepath = @"D:\test1.xls";         string sheetname = "Sheet5";          ...

  8. Java使用LdAP获取AD域用户

    随着我们的习大大上台后,国家在网络信息安全方面就有了非常明显的改变!所以如今好多做网络信息安全产品的公司和须要网络信息安全的公司都会提到用AD域server来验证,这里就简单的研究了一下! 先简单的讲 ...

  9. AD域和LDAP协议

    随着我们的习大大上台后,国家在网络信息安全方面就有了很明显的改变!所以现在好多做网络信息安全产品的公司和需要网络信息安全的公司都会提到用AD域服务器来验证,这里就简单的研究了一下! 先简单的讲讲AD域 ...

随机推荐

  1. Glossary of Terms in the JavaTM platform --reference

    http://docs.oracle.com/javase/tutorial/information/glossary.html field :A data member of a class. Un ...

  2. 深入理解iframe

    本文并不是一篇iframe API文档讲解,因此想了解iframe API的同学请移步 MDN, 我将在现在浏览器的角度与大家取探讨iframe, 因此,本文中虽然会提及一些iframe在旧浏览器中的 ...

  3. Android 开发之自定义Dialog及UI的实现

    我们在开发中,经常会自定义Dialog,因为原生的AlertDialog无法满足我们的需求,这个时候就需要自定义Dialog,那么如何自定义呢,其实不难,就是有点繁琐而已.也就是自定义一个UI的xml ...

  4. XC文件管理器(Android应用)

    XC文件管理器,是基于Android4.4开发的一个方便易用的文件管理器,具有文件的目录管理和文件的管理,主要包括文件的新建.删除.重命名.复制,移动剪切以及文件详情查看等文件和目录的功能,同时支持文 ...

  5. 自己封装的工具类,使用原生SwipeRefreshLayout+RecycleView实现下拉刷新和加载更多

    实现SwipeRefreshLayout+RecycleView实现刷新 在你的xml文件里写上如下代码: <android.support.v4.widget.SwipeRefreshLayo ...

  6. PHP中用mysqli面向对象打开连接关闭mysql数据库

    代码如下: <meta http-equiv="content-type" content="text/html" charset="utf-8 ...

  7. Powerdesigner中如何生成测试数据

    设计表完成以后,我们需要生成一些测试数据,可以直接更新到数据库中,下面我们就来试试: 第一步:建立需要的Profiles测试文件,[Model]--[Test Data Profiles],如图所示: ...

  8. C++的MFC,与C#的.NET

    转载:http://blog.sina.com.cn/s/blog_7f5bde5c0101hk5n.html 以下摘自各问答网站.博客论坛: [1]MFC早已过时,现在C++多数是用来编写底层方法而 ...

  9. Android手势解锁, 九宫格解锁

    给大家介绍一个很好用的手势解锁控件ShapleLocker, 废话不多先上效果图: 这是一个第三方库, 可自己根据UI需求替换图标: 圆圈, 小箭头等等.. github地址: http://pane ...

  10. fiddler接口测试

    浏览器中,可直接进行get接口测试:调用post方法的接口测试可用fiddler测试(当然,fiddler也支持get),如下图 [Execute]后双击左侧请求记录记录即可查看响应结果