当使用LogonUser()和LOGON32_LOGON_NETWORK验证用户的Windows登录和密码时,即使错误的密码被选中的次数超过用户的安全策略允许的次数,似乎也不会导致他们的帐户被锁定。
还有一个类似的问题:
传递给LogonUser()的密码不正确,但Active Directory帐户未按预期锁定
但在他们的例子中,他们使用的是LOGON32_LOGON_INTERACTIVE。
在我的示例中,域控制器可以对登录进行身份验证,但是文档不清楚使用LOGON32_LOGON_NETWORK是否意味着它不使用域控制器进行身份验证,只知道如果凭证正确,它就不会缓存凭据。
我要找的是一个策略设置,如果LogonUser()与错误的密码一起使用太多次,它将锁定一个Windows域帐户。
编辑:帮助澄清情况的附加信息。
在我的XE2开发机器上使用正确的域\用户但密码不正确调用XE2时,结果是假的。给SysUtils.SysErrorMessage(System.GetLastError)打电话给我:
手术成功完成
在客户端站点上的任何机器上执行的相同测试显示:
登录失败:用户名未知或密码错误
在他们的任何一台机器上继续进行测试,最终都会报告:
引用的帐户当前已被锁定,并且可能不会登录到
我想要确定的是,为什么客户端的行为是不同的,因为我们希望域上的系统也能锁定帐户。也许它是Windows帐户的一个属性?
发布于 2016-07-21 02:30:41
您要寻找的策略设置是帐户锁定阈值。
我不认为这与Delphi是调用API所涉及的语言有任何关系。这纯粹是一个Windows /安全策略问题。
https://stackoverflow.com/questions/38492267
复制相似问题