问题标签 [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.
c# - C#,针对活动目录的身份验证
我在我的应用程序中使用PrincipalContext
(来自System.DirectoryServices.AccountManagement
命名空间)针对 Active Directory 进行身份验证(我正在使用该ValidateCredentials
函数)。
身份验证工作正常,当我在 Active Directory 中重置用户密码并强制他在下次登录时更改密码时,我无法对用户进行身份验证。
我试图改变我进行身份验证的方式,我使用了LdapConnection
(命名空间System.DirectoryServices.Protocols
),身份验证工作正常,当我重置用户密码并强制用户在下次登录时更改密码时,我无法验证这个用户,如果我我只是重置密码而不强制用户在下次登录时更改密码,我可以验证用户。
我用不同的活动目录测试了相同的场景,它适用于所有场景。
当用户必须在下一次登录标志为 true 时更改密码时,Active Directory 是否有可能阻止我通过代码进行身份验证?
validation - 必须指定 Negotiate 或 SimpleBind,并且它们不能组合
我正在尝试针对具有主体上下文的活动目录验证用户的凭据,但总是出现错误。我尝试通过 ssl 连接,因为它是敏感数据,但它总是给我标题中的错误。
我还尝试为容器设置 DC="myAwesomeDomain,DC=COM" 而不是 null。登录 AD 的凭据是正确的,它们与 DirectoryEntry 一起工作正常。我不知道如何继续。
任何想法?
c# - 如何使用 ObjectQuery 获取本地用户的所有组?
我尝试显示特殊用户所在的所有组。我也知道,我可以这样做:
但是我想在 PrincipalContext 附近工作,因为我需要在 PC 上远程使用它,而这不在域中。所以我尝试了这个:
它给了我一个例外,因为查询不正确。
非常感谢任何形式的帮助。
c# - C# PrincipalContext 找不到网络路径
我正在尝试使用 PrincipalContext 检查远程计算机上是否存在本地用户组。
我遇到以下问题PrincipalContext
:
它适用于以下场景:
- 本地到本地机器
- 本地到虚拟机
- 域机器到工作组机器
但是它在相反的方向上不起作用:
- 虚拟机到本地主机
- 工作组机器到域机器
我收到这些错误:
未处理的异常:System.IO.FileNotFoundException:找不到网络路径。
未处理的异常:System.Runtime.InteropServices.COMException:找不到网络路径。
第一个例外是虚拟机,第二个是工作组机器。
所有机器都有相同名称和密码的用户,并且代码是从该用户执行的。
如何解决这个问题?
c# - UserPrincipal.IsMemberOf 返回 false
我正在尝试验证用户是否在“TestGroup”组中。用户是“TestGroup”组的一部分,即使我得到了 retval = false @line(retVal = user.IsMemberOf(groupPrincipal);),并且在事件查看器中它显示 msg 为“用户名或密码不正确”。
你能帮我吗?
c# - 我怎样才能可靠地打破 PrincipalContext.ValidateCredentials
我有一个应用程序需要能够对本地计算机或域使用 Windows 身份验证。以前,我使用的是PrincipalContext.ValidateCredentials,起初它工作正常,然后它开始随机返回 false 以获得正确的凭据。我看了这个问题,看到人们说如果PrincipalContext.ValidateCredentials
负载过重,那么它可能会开始抛出异常,我注意到其他地方人们说它总是返回错误。
我链接的问题建议使用图书馆中LogonUser
的代替。advapi32.dll
没关系,唯一的问题是我希望能够PrincipalContext.ValidateCredentials
在说另一种方法有效之前可靠地中断呼叫。此代码不会产生任何错误,并且永远不会在返回这些误报的同一系统上返回 false。我想打破它,这样我就可以确保LogonUser
通话不会出现同样的问题。
c# - C#.NET,将 AD 用户添加到 AD 组 - 对象已存在
我的任务是创建一个解决方案,在 AD 组中添加和删除 AD 用户。以下代码是有效的,除非我尝试保存组。我收到“对象已存在”的异常。我已将问题(我认为)缩小到 SamAccountName,我认为这就是导致异常的原因。
除了我被授予修改指定为添加/删除用户的组的权限外,我无权修改 AD 中的任何内容。我进行了无休止的研究,只是无法确定解决方案。任何帮助将不胜感激。提前致谢。
c# - System.DirectoryServices.AccountManagement.PrincipalContext 将用户名和密码以纯文本形式存储在内存中
如果您使用接受用户名和密码的 System.DirectoryServices.AccountManagement.PrincipalContext 构造函数,则该用户名和(更令人不安的)密码在对象内部作为纯文本字符串保存。
有没有办法绕过这个明显的安全风险?
principalcontext - GetMembers(true) 不列出成员组的所有用户
首先这是我的代码:
我的“otheradmingroup”的唯一成员是“Domain Admins”组,其中包含 6 个广告用户。
执行上述代码后,返回的列表仅包含我的“域管理员”的前 4 个成员
c# - 在没有明确的域主体上下文的情况下构造扩展用户主体
最近我一直在实现ExtendedUserPrincipal
类似于 sample here的自定义类。对我来说唯一的问题是基于现有的基类实例(例如UserPrincipal.Current
)构造新实例,将现有的用户主体映射到我的扩展版本。
现在,我正在使用域上下文的显式创建:
我想在不明确指定域上下文的情况下构造它,例如
这是可能的还是设计禁止的(可能是安全问题)?user.Context
在这里没有帮助。