【问题标题】:How can I get 'minimum password age' of user in active directory using asp.net?如何使用 asp.net 在活动目录中获取用户的“最小密码年龄”?
【发布时间】:2012-05-01 20:14:05
【问题描述】:

如何使用 asp.net 获取 Active Directory 中用户的“最小密码年龄”?
使用目录服务或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(默认会员提供者)


密码不符合密码策略要求。检查最小密码长度、密码复杂性和密码历史要求


用户创建和更新成功(更新字段,如名字、姓氏等)。我同时使用目录服务和 AspNetActiveDirectoryMembershipProvider 来创建和更新 用户,但是当我尝试更改密码时出现问题

例如: 我用密码 anc1236 创建了用户!成功创建
现在将密码更新为 xyyz4562@ 并出现错误

下面是我用来更改密码的代码
objMembershipUser.ChangePassword(oldPassword, newPassword)
我也尝试直接使用目录服务并得到同样的错误

【问题讨论】:

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


    【解决方案1】:

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

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

    查看this 页面的示例

    【讨论】:

    • 很遗憾,该链接不再有效。
    猜你喜欢
    • 1970-01-01
    • 2018-02-12
    • 1970-01-01
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 1970-01-01
    • 2018-10-17
    相关资源
    最近更新 更多