解决LDAP客户端统一认证DirectoryEntry出现 Ox80005000的问题
初始源码如下:
public bool open(String username,String password)
{
try
{
string url = $"ldap://{m_host}:{m_port}/{m_baseDn}";
String m_user = $"{username},{m_userDn}";
DirectoryEntry entry = new DirectoryEntry(url, m_user, password, AuthenticationTypes.None);
if (entry == null)
{
return false;
}
else
{
try
{
object native = entry.NativeObject;
return true;
}
catch (System.Exception ex)
{
throw new Exception(ex.Message);
}
}
}
catch(Exception ex)
{
throw ex;
}
}
结果始终出现Exception,异常代码如下:0x80005000
在网上查阅相关信息均是有关IIS设置的问题。
那么问题就来了,客户端访问ldap服务(使用ldap admin或ladp brower都可以正常访问,因此服务端不存在问题),不可能客户端还需要存在IIS,因此这个问题不可能是像网上所述。
而且本人使用java写了ldap访问的代码,一次验证通过。
此时突然一个想法一闪而过,DirectoryEntry构造函数中参数path(即代码中变量url)起头大小写的问题。(虽然java中使用小写ladp一次验证通过,可是不代码C#就可以通过)经过验证,果然就是这个问题。Bravo,经过自己搭建OpenLdap服务,学习ldap admin的使用,一天半终于搞定。
正确源码:
public bool open(String username,String password)
{
try
{
string url = $"LDAP://{m_host}:{m_port}/{m_baseDn}";
String m_user = $"{username},{m_userDn}";
DirectoryEntry entry = new DirectoryEntry(url, m_user, password, AuthenticationTypes.None);
if (entry == null)
{
return false;
}
else
{
try
{
object native = entry.NativeObject;
return true;
}
catch (System.Exception ex)
{
throw new Exception(ex.Message);
}
}
}
catch(Exception ex)
{
throw ex;
}
}
解决LDAP客户端统一认证DirectoryEntry出现 Ox80005000的问题相关推荐
- [原创]django+ldap实现统一认证部分一(django-auth-ldap实践)
前言 接之前我的文章,django+ldap+memcache实现单点登录+统一认证 ,ldap部署相关,ldap双机\LAM配置管理\ldap备份还原,目前来说,我们已经有了高可用性的ldap环境了 ...
- LDAP简述及统一认证说明
LDAP简述 LDAP相关概念 1)轻型目录访问协议(Lightweight Directory Access Protocol),LDAP是一种通信协议,LDAP能够支持TCP/IP.协议就是标准, ...
- [原创]django+ldap+memcache实现单点登录+统一认证
前言 由于公司内部的系统越来越多,为了方便用户使用,通过django进行了单点登录和统一认证的尝试,目前实现了django项目的单点登录和非django项目的统一认证,中间波折挺多,涉及的技术包括dj ...
- 统一账号/统一认证系统的引入和搭建(LDAP)
为什么需要统一账号/统一认证? 没人喜欢记忆一大堆混乱的账号和密码,员工不喜欢,企业更不喜欢. 企业要高效解决业务和研发问题,必须在初创期规划搭建必要的企业软件和研发工具,也就是进行IT基础设施中软件 ...
- 宁盾目录成功对接Coremail邮箱,为其提供LDAP统一认证和双因子认证
近日,宁盾与 Coremail 完成兼容适配,在 LDAP 目录用户同步.统一身份认证及双因子认证等模块成功对接.借此机会,双方将加深在产品.解决方案等多个领域的合作,携手共建信创合作生态,打造信创 ...
- Linux下LDAP统一认证解决方案
企业内部需要认证的服务很多,员工需要记住很多的密码, 即使对这些服务进行相同的密码设置,也存在很大的安全隐患.笔者目前工作的企业就是如此,每一个新员工的到来管理员都要初始化很多密码,而这些密码都被设置 ...
- 【.NET Core项目实战-统一认证平台】第十章 授权篇-客户端授权
上篇文章介绍了如何使用Dapper持久化IdentityServer4(以下简称ids4)的信息,并实现了sqlserver和mysql两种方式存储,本篇将介绍如何使用ids4进行客户端授权. .ne ...
- 【.NET Core项目实战-统一认证平台】第六章 网关篇-自定义客户端授权
上篇文章[.NET Core项目实战-统一认证平台]第五章 网关篇-自定义缓存Redis 我们介绍了网关使用Redis进行缓存,并介绍了如何进行缓存实现,缓存信息清理接口的使用.本篇我们将介绍如何实现 ...
- signature=4f0a1c9773fc07031e260b016c514c92,基于LDAP的统一身份认证系统设计与实现
摘要: 随着IT技术和网络技术的蓬勃发展,各种基于网络的应用系统已在当前的商业环境中大量存在.因商业应用业务需要,用户每天可能需要登录到许多不同的应用系统.为保证安全性,通常各系统均要求对用户进行身份 ...
- ldap 统一认证 java_如何在你的系统里集成LDAP统一认证
一.为什么需要统一认证 日常办公经常会有多套系统,如果各个系统各自维护一套用户认证,用户需要记住多个用户名密码. 系统各自管理用户认证的方式,不但会有重复建设的问题,用户体验也会差,经常会有用户忘记密 ...
最新文章
- python三方库 importlib导入API用法 相对导入 绝对导入
- 硕士Nature一作谈回乡当公务员:考公竞争激烈,科研经历是宝贵财富
- const的使用CC++
- jQuery插件ASP.NET应用之AjaxUpload
- 如何禁用win7的ASLR
- plot画分段函数_python画图函数大全
- 力扣——字符串转换整数(atoi)
- JEECGJWT异常捕获强化处理
- matconvnet在MATLAB2013配置过程中遇到的问题
- Spring中使用aop操作需要用到的aspectjweaver-1.8.7.jar包
- 闲聊人工智能产品经理(AIPM)—定义人工智能产品经理
- 用天平找次品的算法题,即三等分算法
- 爬取中国地震台网以及地震科学数据
- javascript运算符——条件、逗号、赋值、()和void运算符 (转载)
- 基于51单片机的烟雾温度火灾报警器 LCD1602显示proteus仿真
- AS 使用Statistic插件统计代码行数
- android studio代码格式化设置,Android studio kotlin代码格式化操作
- 联想拯救者y7000电池耗电快_联想拯救者Y7000游戏本测评之温度、续航双测评
- 20190831每日一句 超越你的舒适区,突破自我,继续前进!
- SpringBoot配置多数据源数据库