问题标签 [principalcontext]

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.

0 投票
1 回答
455 浏览

c# - C#,针对活动目录的身份验证

我在我的应用程序中使用PrincipalContext(来自System.DirectoryServices.AccountManagement命名空间)针对 Active Directory 进行身份验证(我正在使用该ValidateCredentials函数)。

身份验证工作正常,当我在 Active Directory 中重置用户密码并强制他在下次登录时更改密码时,我无法对用户进行身份验证。

我试图改变我进行身份验证的方式,我使用了LdapConnection(命名空间System.DirectoryServices.Protocols),身份验证工作正常,当我重置用户密码并强制用户在下次登录时更改密码时,我无法验证这个用户,如果我我只是重置密码而不强制用户在下次登录时更改密码,我可以验证用户。

我用不同的活动目录测试了相同的场景,它适用于所有场景。

当用户必须在下一次登录标志为 true 时更改密码时,Active Directory 是否有可能阻止我通过代码进行身份验证?

0 投票
1 回答
549 浏览

validation - 必须指定 Negotiate 或 SimpleBind,并且它们不能组合

我正在尝试针对具有主体上下文的活动目录验证用户的凭据,但总是出现错误。我尝试通过 ssl 连接,因为它是敏感数据,但它总是给我标题中的错误。

我还尝试为容器设置 DC="myAwesomeDomain,DC=COM" 而不是 null。登录 AD 的凭据是正确的,它们与 DirectoryEntry 一起工作正常。我不知道如何继续。

任何想法?

0 投票
2 回答
1040 浏览

c# - 如何使用 ObjectQuery 获取本地用户的所有组?

我尝试显示特殊用户所在的所有组。我也知道,我可以这样做:

但是我想在 PrincipalContext 附近工作,因为我需要在 PC 上远程使用它,而这不在域中。所以我尝试了这个:

它给了我一个例外,因为查询不正确。

非常感谢任何形式的帮助。

0 投票
1 回答
8029 浏览

c# - C# PrincipalContext 找不到网络路径

我正在尝试使用 PrincipalContext 检查远程计算机上是否存在本地用户组。

我遇到以下问题PrincipalContext

它适用于以下场景:

  • 本地到本地机器
  • 本地到虚拟机
  • 域机器到工作组机器

但是它在相反的方向上不起作用:

  • 虚拟机到本地主机
  • 工作组机器到域机器

我收到这些错误:

未处理的异常:System.IO.FileNotFoundException:找不到网络路径。

未处理的异常:System.Runtime.InteropServices.COMException:找不到网络路径。

第一个例外是虚拟机,第二个是工作组机器。

所有机器都有相同名称和密码的用户,并且代码是从该用户执行的。

如何解决这个问题?

0 投票
2 回答
3241 浏览

c# - UserPrincipal.IsMemberOf 返回 false

我正在尝试验证用户是否在“TestGroup”组中。用户是“TestGroup”组的一部分,即使我得到了 retval = false @line(retVal = user.IsMemberOf(groupPrincipal);),并且在事件查看器中它显示 msg 为“用户名或密码不正确”。

你能帮我吗?

0 投票
0 回答
617 浏览

c# - 我怎样才能可靠地打破 PrincipalContext.ValidateCredentials

我有一个应用程序需要能够对本地计算机或域使用 Windows 身份验证。以前,我使用的是PrincipalContext.ValidateCredentials,起初它工作正常,然后它开始随机返回 false 以获得正确的凭据。我看了这个问题,看到人们说如果PrincipalContext.ValidateCredentials负载过重,那么它可能会开始抛出异常,我注意到其他地方人们说它总是返回错误。

我链接的问题建议使用图书馆中LogonUser的代替。advapi32.dll没关系,唯一的问题是我希望能够PrincipalContext.ValidateCredentials在说另一种方法有效之前可靠地中断呼叫。此代码不会产生任何错误,并且永远不会在返回这些误报的同一系统上返回 false。我想打破它,这样我就可以确保LogonUser通话不会出现同样的问题。

0 投票
1 回答
3239 浏览

c# - C#.NET,将 AD 用户添加到 AD 组 - 对象已存在

我的任务是创建一个解决方案,在 AD 组中添加和删除 AD 用户。以下代码是有效的,除非我尝试保存组。我收到“对象已存在”的异常。我已将问题(我认为)缩小到 SamAccountName,我认为这就是导致异常的原因。

除了我被授予修改指定为添加/删除用户的组的权限外,我无权修改 AD 中的任何内容。我进行了无休止的研究,只是无法确定解决方案。任何帮助将不胜感激。提前致谢。

0 投票
0 回答
137 浏览

c# - System.DirectoryServices.AccountManagement.PrincipalContext 将用户名和密码以纯文本形式存储在内存中

如果您使用接受用户名和密码的 System.DirectoryServices.AccountManagement.PrincipalContext 构造函数,则该用户名和(更令人不安的)密码在对象内部作为纯文本字符串保存。

有没有办法绕过这个明显的安全风险?

0 投票
1 回答
107 浏览

principalcontext - GetMembers(true) 不列出成员组的所有用户

首先这是我的代码:

我的“otheradmingroup”的唯一成员是“Domain Admins”组,其中包含 6 个广告用户。

执行上述代码后,返回的列表仅包含我的“域管理员”的前 4 个成员

0 投票
0 回答
367 浏览

c# - 在没有明确的域主体上下文的情况下构造扩展用户主体

最近我一直在实现ExtendedUserPrincipal类似于 sample here的自定义类。对我来说唯一的问题是基于现有的基类实例(例如UserPrincipal.Current)构造新实例,将现有的用户主体映射到我的扩展版本。
现在,我正在使用域上下文的显式创建:

我想在不明确指定域上下文的情况下构造它,例如

user.Context在这里没有帮助。这是可能的还是设计禁止的(可能是安全问题)?