问题标签 [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# - PrincipalServerDownException 在 Windows XP 上但在 Windows 7 上没有
我们有一个完全信任运行的 WPF 应用程序。
应用程序的一部分检查 Windows AD 组的成员资格。
这适用于 Windows 7 机器,但不适用于 Windows XP 机器。
错误发生在以下行:
c# - 使用 PrincipalSearcher.FindAll() 时的内存泄漏
我也有使用插件和应用程序域的长期运行服务,并且由于使用目录服务而出现内存泄漏。请注意,我使用的是 system.directoryservices.accountmanagement,但据我了解,它使用相同的底层 ADSI API,因此容易出现相同的内存泄漏。
我查看了所有的 CLR 内存计数器,内存没有泄漏,并且在强制 GC 或卸载 appdomain 时全部返回。泄漏是在不断增长的私有字节中。我在这里搜索并看到了一些与使用 ADSI API 时内存泄漏相关的问题,但它们似乎表明只需遍历 directorysearcher 即可解决问题。但正如您在下面的代码中看到的那样,我在 foreach 块中执行此操作,但内存仍在泄漏。有什么建议么?这是我的方法:
我对 foreach 循环进行了以下更改,它更好,但私有字节仍在增长并且永远不会被回收。
c# - 使用 web.config 配置主体上下文
我可以使用以下代码获得组成员资格:
我想在web.config中移动这个管理员用户名密码,这样我就不必在密码更改时更改代码。
c# - 使用带有嵌套 OU 的 UserPrincipal.FindByIdentity 和 PrincipalContext
这是我想要实现的目标:我有一个大约 5 层深的嵌套 OU 结构。
我试图找出用户是否在 OU=Portal 上具有权限/存在。
这是我目前拥有的一个片段:
由于某些未知原因,user
上述代码生成的值始终为空。但是,如果我要删除所有 OU,如下所示:
这可以正常工作并返回正确的用户。我只是想减少结果的数量,而不是从 AD 中获取所有内容。
有什么我做错了吗?我已经用谷歌搜索了几个小时并测试了各种组合,但运气不佳。
c# - 查询包含多个字符串的 PrincipalSearcher
我希望能够查询活动目录,给出包含某些单词的所有组的列表,例如用户或管理员下面是我到目前为止所得到的
此代码似乎甚至没有过滤掉不是管理员或用户的组名称。但无论如何我想不通的是如何查询组名是否包含?而不是如果组名等于以及如何对多个字符串执行此操作。
我可以使用 DirectoryEntry 做同样的事情,所以我把它放在这里供参考
c# - GroupPrincipal 重命名组
我正在尝试重命名一个组。我的代码如下所示
问题是它崩溃group.DisplayName = "NewGroupName";
并抛出异常
属性对此商店类型无效。
如果我注释掉该行,代码将继续运行,但我想更改显示名称。我做了一些研究,发现了这一点。但是我使用的是框架 4.0。有谁知道另一个该怎么做,或者我会以错误的方式解决这个问题?
c# - 如何让用户域创建主体上下文 asp.net
使用 .Net 4.0 创建 PrincipalContext 的代码行是:
不久前,我看到一个代码片段,您不必指定域名,而是使用系统或 httpcontext 变量来传递域名。它类似于 user.logondomain 但我再也找不到它了。它没有从 user.identity.name 中剥离域。
这是在 ASP.NET Web 应用程序中使用 Windows 身份验证。
c# - Active Directory 中查询的 PrincipalContext
我想从 Active Directory 制作一些简单的报告。经过讨论等,我发现如果我使用 .NET FW 3.5 及更高版本,则适合使用PrincipalContext
. 我想了解原理以及我可以用这个新功能做什么(不像DirectoryEntry
)。
代码骨架
可以通过代码添加此属性以登录到 LDAP?:
- 使用什么 LDAP(版本 2 或 3)
- 如何设置运行 LDAP 的端口
- 如果我需要 SSL 连接如何工作?(不同的端口,必须有特殊要求)
此外,我可以用AdvancedSearchFilter
这个条件吗?
(我发现只有AccountExpirationDate
和AccountLockoutDate
)
- 用户密码将在不久的将来到期
- 用户密码已过期
- 检查用户的密码是否可以过期
- 用户帐户过期(帐户,无密码)
- 过期用户帐户(帐户,无密码)
- 用户帐户未过期
c# - Active Directory PrincipalContext.ValidateCredentials 下一次登录策略更改密码处于活动状态时
我正在使用System.DirectoryServices.AccountManagement 命名空间中的类与我的 Web 应用程序中的 Active Directory 进行交互。要针对 Active Directory 验证用户凭据,我使用以下代码行。
其中principalContext是 PrincipalContext 实例。当用户使用提供的凭据进行身份验证时,authSucceeded为真。但是,当“下一次登录策略更改密码”处于活动状态时,此方法会失败。对于这些用户,即使他们是使用密码“Abcd_10”创建的,也不会经过身份验证。
任何人都知道如何在这种状态下对用户进行身份验证,以便我可以将他重定向到更改密码屏幕?我已经完成了所有其他任务的代码。但只有这个东西不见了。
只是我需要知道为什么
由于密码错误/无效的用户名/用户被停用或我的要求(他是否正在为密码更改进行身份验证)而返回错误的方法
如果有任何想法,请分享..
c# - 使用 UserPrincipal SetPassword 方法时访问被拒绝
使用UserPrincipal类更改用户密码时出现AccessDenied异常。
我正在通过Windows Authentication (domain user)登录到 Asp.Net 应用程序。如果我尝试更改其他用户的密码,则会收到拒绝访问异常。如果我对已登录的用户执行相同操作,则一切正常 - 我可以更改密码。
我想,如果我将使用PrincipalContext获取UserPrincipal对象,我将做任何我的 'Principal - domain\adminAD ' 在 AD 中具有特权的事情。
方法体:
我已经搜索过答案,我知道类似主题有很多答案。但他们都没有解释我的问题,我猜。