问题标签 [directoryentry]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - DirectoryServicesCOMException 并不总是抛出 - 有时是 COMException
我正在使用 .NET 4.0 并调用 DirectoryEntry.NativeObject 来针对 AD 验证用户的凭据。
如果在 AD 中为用户设置了“用户下次登录时必须更改密码”标志,DirectoryEntry.NativeObject 调用将引发 DirectoryServicesCOMException。然后,我可以使用 DirectoryServicesCOMException 中的信息来确定失败是否是因为设置了更改密码标志。
这适用于某些 Windows 2008 AD 服务器,但适用于其他 Windows 2008 AD 服务器,而不是抛出 DirectoryServicesCOMException,而是抛出 COMException,我无法确定失败的原因,因为我没有提供的相同信息DirectoryServicesCOMException。
我不确定服务器之间的哪些差异会导致引发不同的异常。
有谁知道为什么在某些服务器上抛出 COMException 而不是 DirectoryServicesCOMException?
如果抛出 COMException,有谁知道如何获取有关错误的其他信息?HRESULT 是不够的。
谢谢。
active-directory - 尝试为 DirectoryEntry 刷新缓存时抛出 DirectoryServicesCOMException (0x80072020)
我编写了一个非常示例的测试程序,并将其作为本地系统帐户在域机器中运行。这是代码的样子:
域的 NetBIOS 名称是“test”,完整的域名是“test.com”。“dc.test.com”是 DC FQDN,“gc.test.com”是 GC FQDN。
它适用于“test.com”、“dc.test.com”和“gc.test.com”,但它会为“test”和“Environment.UserDomainName”抛出 DirectoryServicesCOMException (0x80072020)。
详细运行结果为:
如果我以 domian admin 帐户运行它,一切正常。知道是什么原因造成的吗?十分感谢!
authentication - DirectoryEntry 身份验证抛出 COMException 而不是 DirectoryServicesCOMException
我正在使用 .NET 并创建一个 DirectoryEntry 并访问 NativeObject 成员以针对 AD 验证用户的凭据。
在某些情况下,登录会失败,因为设置了“用户下次登录时必须更改密码”标志,或者由于登录时间不匹配,当前不允许用户登录。
我想区分是否发生了其中一种情况,或者用户是否输入了错误的密码。
如果我使用参数 AuthenticationTypes.None 创建 DirectoryEntry 对象,如果登录失败,则会引发 DirectoryServicesCOMException。此异常中的信息可用于确定例如是否设置了“密码更改”标志。
不幸的是,使用 AuthenticationTypes.None 不是一种安全的方式,因为会传输密码。
如果我使用参数 AuthenticationTypes.Secure 创建 DirectoryEntry 对象,则会引发 COMException 而不是 DirectoryServicesCOMException。此异常非常通用,因为它始终具有错误代码 ERROR_LOGON_FAILURE。我无法区分用户是否输入了错误的密码或是否必须更改密码。
MSDN 文档说:如果设置了 AuthenticationTypes.Secure,WinNT 提供程序使用 NTLM 对客户端进行身份验证。我想这会导致一种不同的行为,即只抛出一个 COMException 。
有效,但不安全:
安全,但只抛出 COMException:
第一个选项使用基本身份验证并引发特定的 DirectoryServicesCOMException,第二个选项使用 NTLM 并仅引发通用 COMException。
有谁知道我如何检测用户是否必须更改密码、帐户是否被锁定或过期、登录时间无效……或者用户是否输入了错误的密码?
非常感谢。
c# - 以编程方式创建应用程序池,错误设置“ManagedPipelineMode”
我正在使用以下代码以编程方式为 IIS 6 (Windows Server 2003R2) 创建应用程序池,但在尝试设置ManagedPipelineMode
尝试 1
尝试 2
无论哪种方式都会引发相同的异常。
例外:
c# - 遍历 DirectoryEntries 时出现异常
以这种方式遍历 DirectoryEntry 对象时出现异常。我的问题是,我应该在哪里做哪些检查来确定是否没有 directoryEntries sites
?
例外
指数超出范围。必须是非负数且小于集合的大小。
参数名称:
System.Collections.CollectionBase.System.Collections.IList.get_Item 处的索引(Int32 索引)
c# - 检查本地组是否已存在的优雅方法
有没有办法找出本地组是否已经存在?我的“最佳”解决方案通过捕获异常来工作。有没有办法在不捕获异常的情况下实现相同的目标?
c# - 服务器上的 LDAP 身份验证
我需要使用输入用户名和密码在 c# 中验证 LDAP 用户。
在这里我得到了所需的记录(可以查看详细信息)但是当我尝试使用下面的代码对其进行身份验证时,它总是说身份验证失败
它总是导致带有错误消息的 catch 块
登录失败:未知用户名或密码错误。失败:未知用户名或密码错误。
我确定给定的密码是正确的。
请建议。
根据 Saad 的建议,我通过代码进行了更改
它仍然给出错误
我想我对在哪里给出哪个参数感到困惑。我有 LDAP 服务器地址,例如 123.123.12.123 域名,例如 abc.com 管理员用户名和密码 以及 需要验证的用户名和密码。(在 OU=new users,OU=KK 中)
我正在使用服务器名、域、管理员用户名和密码创建目录条目
如何使用给定的密码验证用户名?
c# - LdapConnection 与 DirectoryEntry
谁能解释使用 LdapConnection/SearchRequest 和 DirectoryEntry/DirectorySearcher 在 ActiveDirectory 中搜索用户之间的区别。
哪一个最适合与 AD 交互?
c# - 针对 AD 组检查用户登录
我在使用 DirectoryEntry 方法的 C# Web 应用程序中有一个 LDAP 登录设置。下面的代码是我到目前为止所拥有的。这将允许任何拥有 AD 帐户的人登录。我需要将其限制在名为“commonusers”的组中的人。
登录按钮使用以下代码:
是否可以将检查“commonusers”组的用户帐户的功能添加到这些功能之一中?
c# - C# 将 LDAP 用户添加到组
我正在编写以下方法将活动目录上的用户添加到 C# 中的自定义组。我有一个名为“SHO Users”的 OU 和一个名为“SHO Sharepoint User”的子 ou 我所有的用户都保存在子 ou 下。我在第一个“SHO 用户”下有一个名为“Test GRP”的组。我需要使用以下代码将一些用户添加到“Test GRP”组,但没有运气。我真的很感激任何帮助。谢谢