C# LDAP认证登录
2024-09-06 06:22:41
LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。
bool checkResult = false;
try
{
string username = Request.Params.Get("username");
string userpwd = Request.Params.Get("userpwd");
string strLADPath = "LDAP://OU=事业部,DC=HOLD,DC=Company,DC=COM"; DirectoryEntry objEntry = new DirectoryEntry(strLADPath);
objEntry.AuthenticationType = AuthenticationTypes.None; DirectorySearcher deSearch = new DirectorySearcher(objEntry);
//过滤名称是否存在
deSearch.Filter = "(&(objectClass=user)(sAMAccountName=" + username + "))";
deSearch.SearchScope = SearchScope.Subtree;
//find the first instance
SearchResult results = deSearch.FindOne();
//check username & userpwd
if (null != results)
{
DirectoryEntry objUserEntry = new DirectoryEntry(results.Path, username, userpwd);
if (null != objUserEntry && null != objUserEntry.Properties
&& objUserEntry.Properties.Contains("cn"))
{
checkResult = true;
}
} Response.Write("认证结果:" + checkResult.ToString());
}
catch (System.Exception ex)
{
Response.Write("认证异常"+ex.StackTrace);
Response.Write("认证结果:" + checkResult.ToString());
}
最新文章
- 推荐几款我一直在用的chrome插件(上)
- dynamic 的使用 待续
- (heartbeat与KeepAlived)
- PHP第三方登录 -- 微博登录
- VISA资源名称控件
- Linux/U-Boot Git Repo
- Android开发中如何强制横屏和强制竖屏设置
- HDU 4786 Fibonacci Tree (2013成都1006题) 最小生成树+斐波那契
- 从source folder 下将其所有子文件夹的*.* 文件拷贝到 target folder (不拷贝文件夹名仅拷贝文件)
- weekend110(Hadoop)的 第六天笔记
- JS 一个修改ul的小示例
- javascript变量,作用域和内存问题(一)
- JSP内置对象1(request,response,session)
- PHP-CGI,FASTcgi,php-fpm,之间的关系?
- Java代码复用的三种常用方式:继承、组合和代理
- JS判断一个数是否为质数
- 微信小程序之mpvue+iview踩坑之旅
- 循环神经网络RNN的基本介绍
- imu_tk标定算法原理
- 获取 MySQL 崩溃时的 core file
热门文章
- linux添加、修改环境变量
- 【QT相关】Qt Widgets Module
- [Swust OJ 352]--合并果子(贪心+队列模拟)
- iOS 开发设计常用软件及工具整理
- 利用CentOS系统IPtables防火墙添加网站IP白名单
- UltraEdit for mac 3.2.0.10免费破解版下载!!
- 数据结构C语言版 表插入排序 静态表
- 17.1 Replication Configuration
- 数据分析≠Hadoop+NoSQL
- VC中关于 0xcccccccc和 0xcdcdcdcd异常