这是与Windows凭据提供程序实现相关的问题
我想跟进这个问题。我们有一个自定义的MFA解决方案,在Windows用户完成身份验证之后会提示输入sms / pin。不幸的是,在Windows 2016和Windows 10上,如果没有活动,winLogon.exe不会等待自定义mfa解决方案提示关闭,它恰好记录了用户,违背了mfa提示的目的。
我使用Windows Credential Provider框架部署了自定义凭据提供程序。我知道Windows在完成身份验证后调用ReportResult函数(https://msdn.microsoft.com/en-us/library/windows/desktop/bb776030(v=vs.85).aspx)来报告状态,但是在这个时刻我希望WinLogon.exe等待(此时我的自定义mfa提示挑战)此函数返回相反,它似乎只需等待约2分钟并将用户登录。
任何人都可以帮助我控制这种行为。
答案 0 :(得分:1)
不幸的是,您无法使用ReportResult函数来阻止凭据提供程序。如果身份验证失败,此功能特别有用,可以更新登录屏幕。例如,如果要实现失败的计数器。
在您的情况下(MFA),您应该在用户单击提交按钮后询问短信/引脚,因此在GetSerialization功能中。您可以通过创建一个询问短信/引脚的新窗口来完成此操作。然后,当用户发送sms / pin时,系统会用你的算法用LSA和sms / pin检查用户名/密码。
您无法根据密码验证结果询问用户sms / pin。