如何使用asp.net获取活动目录中用户的“最小密码使用期限”?

时间:2012-05-01 20:14:05

标签: c# asp.net active-directory membership-provider

如何使用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)
我也尝试直接使用目录服务并获得相同的错误

1 个答案:

答案 0 :(得分:2)

我认为你正在查看错误的对象。

  

在Active Directory中使用用户帐户时,通常会这样做   需要参考域范围的帐户政策。例如,政策   例如最小和最大密码年龄和最小密码   长度以及锁定策略是在域级别确定的   并应用于域中的每个用户对象。所有的价值都是   直接存储在域根对象中(不在RootDSE中,而是在   由RootDSE中的defaultNamingContext属性指向的对象   一组属性,如maxPwdAge,minPwdLength和   lockoutThreshold。此外,密码复杂性规则是   在pwdProperties属性中以枚举值编码。这些   在大多数域中,值往往是非常静态的,因此我们通常会这样   想要在每个程序执行时只读取一次这些值。制作   容易使用的策略值,我们在清单10.7中显示了一个包装类   用于将所有值转换为的域帐户策略   方便的.NET数据类型,例如TimeSpan。一个特殊的.NET   密码策略类型的枚举类型也是   包括在内。我们将无法包含所有类属性   这本书需要占用太多空间,但我们会全力以赴   该书的网站上有课程。我们将参考这个样本   在演示如何确定帐户的未来讨论中   锁定状态以及查找密码过期的帐户。它是   还值得注意的是这些策略中的任何LargeInteger值   属性存储为负值。我们选择将它们反转   积极的价值因为在这里更容易思考它们   办法。选择使用这些属性的开发人员应该保留这些内容   如果没有考虑,它会在以后甩掉计算。

查看this页面上的示例