详解C#使用AD(Active Directory)验证内网用户名密码
作者:lqh 发布时间:2023-03-03 23:17:47
标签:C#,AD,验证
详解C#使用AD(Active Directory)验证内网用户名密码
1. 连到内网,找到AD的domain地址
nslookup
set types=all
_ldap._tcp
2. 验证AD的函数
public bool ADLogin(string userName, string password)
{
// sample :
// LDAP://xxx.com
string domain = System.Configuration.ConfigurationManager.AppSettings["AD_Domain"];
try
{
DirectoryEntry entry = new DirectoryEntry(domain, userName, password);
object obj = entry.NativeObject;
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = string.Format("(SAMAccountName={0})", userName);
search.PropertiesToLoad.Add("cn");
SearchResult result = search.FindOne();
if (result == null)
return false;
}
catch (Exception ex)
{
log.Error(ex);
return false;
}
return true;
}
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:http://blog.csdn.net/lan_liang/article/details/52554476


猜你喜欢
- 线程调用类对象在前面的示例中,我们为线程任务使用了通常的函数。实际上,我们可以使用任何可调用对象或者lambda函数,如下调用类对象的例子:
- 1、什么是 生命周期?Maven 强大的原因是有一个十分完善的生命周期,生命周期可以理解为项目构建步骤的集合,它定义了各个构建环节的执行顺序
- 序列化一般应用与以下场景之中:1.永久性保存对象,把对象通过序列化字节流保存到本地文件中;2.通过序列化在网络中传输对象3.通过序列化在进程
- 本文实例讲述了Android编程自定义菜单实现方法。分享给大家供大家参考,具体如下:在android开发的过程中系统自带的菜单往往满足不了开
- 1 简介在 Java 语言中,共有 8 个基本的数据类型,分别为:byte、short、int、long、float、double、bool
- 如何解决某个节点故障的问题?如何解决数据一致性的问题?如何解决数据倾斜的问题?CAP理论先从定义开始:C(Consistence):一致性所
- 本文实例讲述了C#中IEnumerable接口用法。分享给大家供大家参考。具体分析如下:枚举数可用于读取集合中的数据,但不能用于修改基础集合
- 本文将是JVM 性能优化系列的第二篇文章(第一篇:传送门),Java 编译器将是本文讨论的核心内容。本文中,作者(Eva Andreasso
- 对开场白没兴趣?好吧,我们直接切入正题,下面介绍10个C#编程和Visual Studio IDE使用技巧。1、Environment.Ne
- 在程序设计中,进行异常处理是非常关键和重要的一部分。一个程序的异常处理框架的好坏直接影响到整个项目的代码质量以及后期维护成本和难度。试想一下
- 本文实例为大家分享了android通过servlet上传文件到服务器的具体代码,供大家参考,具体内容如下服务器端:部署在Tomcat上,直接
- 今天我做的是一个自定义刻度尺控件,由于项目需求需要使用刻度尺那样滑动选择,由于对自定义控件的认识还不够深入,于是花了一周多时间才把这个控件给
- Java枚举类使用Lombok枚举类是一个特殊的常量类,由于其特殊的设计,具有简洁性、安全性以及便捷性,在开发中被普遍使用。本文简单介绍一下
- 本文实例为大家分享了Android实现连连看游戏的具体代码,供大家参考,具体内容如下本人用 android studio 实现的源码主活动
- 区别1.使用范围和规范不同filter是servlet规范规定的,只能用在web程序中. * 即可以用在web程序中, 也可以用于appli
- 本文介绍一个C#函数,可以实现计算文件的MD5值,可以用于文件传输后进行有效性校验。我们知道可以通过将一个字符串进行散列(Hash)运算得到
- 本文实例讲述了C#时间戳基本用法。分享给大家供大家参考。具体如下:一、C#如何生成一个时间戳/// <summary> ///
- JAVA 静态代理模式代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。代理模式说白了就是“真实对象”的代表,在访问对象
- 注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是myb
- Java String类的concat方法在了解concat()之前,首先需要明确的是String的两点特殊性长度不可变值不可变这两点从源码