如何使用asp.net获取活动目录中用户的“最小密码使用期限”?
使用目录服务或AspNetActiveDirectoryMembershipProvider
例如:
from below line, I can get lastname of user.
string lastName = objDirectoryEntry.Properties["sn"].Value;
以下是用户属性列表。我找不到我所需的属性“最小密码年龄”
http://www.kouti.com/tables/userattributes.htm
注意:我正在使用Asp.net
编辑摘要 -----------------------
当我尝试使用目录服务或更改用户密码时出现以下错误
AspNetActiveDirectoryMembershipProvider
(默认会员提供商)
密码不符合密码策略要求。检查最小密码长度,密码复杂性和密码历史记录要求
用户创建并更新成功(更新字段,如firstname,lastname等)。我正在使用目录服务和AspNetActiveDirectoryMembershipProvider来创建和更新
用户,但问题是当我尝试更改密码时
例如: 我用密码anc1236创建了用户!成功创造的 现在更新密码到xyyz4562 @并收到错误
下面是我用来更改密码的代码
objMembershipUser.ChangePassword(oldPassword, newPassword)
我也尝试直接使用目录服务并获得相同的错误
答案 0 :(得分:2)
我认为你正在查看错误的对象。
在Active Directory中使用用户帐户时,通常会这样做 需要参考域范围的帐户政策。例如,政策 例如最小和最大密码年龄和最小密码 长度以及锁定策略是在域级别确定的 并应用于域中的每个用户对象。所有的价值都是 直接存储在域根对象中(不在RootDSE中,而是在 由RootDSE中的defaultNamingContext属性指向的对象 一组属性,如maxPwdAge,minPwdLength和 lockoutThreshold。此外,密码复杂性规则是 在pwdProperties属性中以枚举值编码。这些 在大多数域中,值往往是非常静态的,因此我们通常会这样 想要在每个程序执行时只读取一次这些值。制作 容易使用的策略值,我们在清单10.7中显示了一个包装类 用于将所有值转换为的域帐户策略 方便的.NET数据类型,例如TimeSpan。一个特殊的.NET 密码策略类型的枚举类型也是 包括在内。我们将无法包含所有类属性 这本书需要占用太多空间,但我们会全力以赴 该书的网站上有课程。我们将参考这个样本 在演示如何确定帐户的未来讨论中 锁定状态以及查找密码过期的帐户。它是 还值得注意的是这些策略中的任何LargeInteger值 属性存储为负值。我们选择将它们反转 积极的价值因为在这里更容易思考它们 办法。选择使用这些属性的开发人员应该保留这些内容 如果没有考虑,它会在以后甩掉计算。
查看this页面上的示例