如何测试AD密码是否符合配置的复杂性要求?

时间:2010-07-12 00:08:39

标签: c# active-directory passwords

在net 3.5 csharp应用程序中,我需要提前知道AD密码是否符合配置的复杂性要求 你怎么能这样做?

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:3)

如果您想从AD获取要求,那么@Leniel Macaferi答案中的链接应该会有所帮助。

如果您已经知道预期的要求并且您的应用程序正在接受建议的密码作为字符串,您可以自己进行测试。一些常见的要求和计算方法包括:

  • 最小长度:很容易检查字符串的长度
  • 复杂性:常见要求是“此列表中至少有三个:小写,大写,数字,字符”,因此您要创建一个计数器,然后使用正则表达式来测试每个条件匹配并递增每个计数器。因此,例如,您的正则表达式就像[a-z][A-Z][0-9][~!@#$%^&*()-_\+=<,>\.\?\/];对于每个匹配的,将1添加到您的计数器。如果最后的计数小于您的要求,则密码将失败。 (你甚至可以对用户特别好,并建议他们错过的一个类别,如果你保留他们使用和不使用的类别的布尔变量。)
  • 简单猜测:您可以创建自己的相等测试,以确保用户没有选择与其用户名或其他禁用密码相匹配的密码。
  • 最近使用的密码:嗯,这个不是那么容易......如果没有Active Directory的帮助,你无法弄明白。