'''函数功能:查询域用户信息
'''参数说明: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. activity-intent-startActivity-startActivityResult

    一. Intent和startActivity 1.在一个Activtiy中可以使用startActivity()去开始另一个制定的Activity 但在android3.0(是针对平板出的产品)之后 ...

  2. Keepalived+Nginx+Tomcat配置高可用负载均衡系统示例

    前言 此示例为keepalived+nginx+tomcat的基础配置示例,某些特定配置此例中不会出现,在示例中会用到三个虚拟机:两个纯命令行用于模拟服务端配置,一个带桌面环境的用于模拟客户端访问,这 ...

  3. 如何使用JCA (J2EE 连接器架构)实现企业应用--转载

    JCA (J2EE 连接器架构,Java Connector Architecture)是对J2EE标准集的重要补充.因为它注重的是将Java程序连接到非Java程序和软件包中间件的开发.连接器特指基 ...

  4. Graphql graffiti

    https://github.com/RisingStack/graffiti-mongoose https://blog.risingstack.com/graffiti-mongoose-mong ...

  5. jQuery给CheckBox添加事件

    <asp:CheckBox ID="ckbTable" runat="server" Checked="false" /> &l ...

  6. Javascript 汉字转拼音

    调用方式: var pinyin = convert("欢迎光临"); alert(pinyin); 新建JS文件:PYConvert.js,内容如下: var PinYin = ...

  7. DBNull与Null

    DBNull与Null的区别在于,DBNull代表该字段在数据库中根本不存在,Null代表该字段在数据库中没有值.

  8. java - import *

    以前看过很多视频,现在发觉很多讲师讲的有些地方是错的,在这里就说一下 import *,例如: import java.util.*的时候,表示的是将文件中使用到的类(而不是全部类)导入,例如在imp ...

  9. 关于wordpress忘记密码 找回密码的方式

    1.通过直接修改数据库中密码的加密字符(如果wordpress的版本不同,那么此方法是不好实现的) 2.使用找回密码的方式:通过邮箱找回密码 前端登录密码错误后 会显示   错误); 方法二 打开WP ...

  10. Ubuntu12.04中安装ns-allinone-2.34

    1.首先安装ns2所需的组件.库之类: $sudo apt-get update $sudo apt-get install build-essential $ tcl8.-dev tk8. tk8. ...