ASP 验证、查询AD域账户信息

时间:2022-09-09 23:17:26

'''函数功能:查询域用户信息
'''参数说明: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://*.com/questions/3894835/ldap-asp-classic-adodb-2147217865-using-ldap-to-talk-to-active-directory

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

''' 搜索: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. Three.js源码阅读笔记-5

    Core::Ray 该类用来表示空间中的“射线”,主要用来进行碰撞检测. THREE.Ray = function ( origin, direction ) { this.origin = ( or ...

  2. [转]How to build a data storage and VM Server using comodity hardware and free software

    Source: http://learnandremember.blogspot.jp/2010_01_01_archive.html Requisites: 1) RAID protection f ...

  3. Unicode 与 utf8 utf16 utf32的关系

    Unicode是计算机领域的一项行业标准,它对世界上绝大部分的文字的进行整理和统一编码,Unicode的编码空间可以划分为17个平面(plane),每个平面包含2的16次方(65536)个码位.17个 ...

  4. Android 设计模式之MVC模式

    说到Android设计模式的MVC模式,估计很多人都是比较熟悉了,这里深入了解一下MVC到底是怎么回事,以ListView为例子讲解. 一.深入理解MVC概念 MVC即Model-View-Contr ...

  5. angular如何引入公共JS

    一.现象 在项目的开发中,总会用到一些公司的脚本方法,同时,不希望在每个页面用到时又得需要引用,有点麻烦. 二.解决 1.在src文件夹下新建文件夹 utils: 2.在utils下新建文件 comm ...

  6. 新建工程时报错(26, 13) Failed to resolve: com.android.support:appcompat-v7:28.+ ,

    allprojects { repositories { jcenter() maven { url "https://maven.google.com" } } }

  7. paramiko实现上传目录

    使用paramiko上传目录,重点是上传的那个过程,想了一上午才想出来,可能有点奇葩,但是还是实现了这个功能 #!/usr/bin/python import paramiko import os d ...

  8. mysqldump 用法

    mysqldump 是文本备份还是二进制备份 它是文本备份,如果你打开备份文件你将看到所有的语句,可以用于重新创建表和对象.它也有 insert 语句来使用数据构成表. mysqldump 的语法是什 ...

  9. 20145307陈俊达《网络对抗》Exp9 Web安全基础实践

    20145307陈俊达<网络对抗>Exp9 Web安全基础实践 基础问题回答 1.SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求 ...

  10. 【转】Maven中-DskipTests和-Dmaven&period;test&period;skip&equals;true的区别

    主要区别是:是否编译测试类 -DskipTests:编译测试类,但不运行 -Dmaven.test.skip=true:不编译.不运行 转自 http://zephiruswt.blog.51cto. ...