【发布时间】:2019-01-17 13:05:11
【问题描述】:
我为 MFA 开发了一个自定义凭据提供程序,它运行良好。我正在通过调用 REST API 在 GetSerialization() 方法中执行额外的身份验证检查。现在,如果通过 REST API 成功验证,我允许用户登录。但是对于验证失败的情况,我想显示错误屏幕,就像在用户名或密码不正确的情况下显示的一个默认提供程序(有一个“确定”按钮)。我了解到,在登录失败的情况下,默认凭据提供程序会在 ReportResult() 中完成此操作。我可以调用 ReportResult() 以显示带有“确定”按钮的自定义错误消息吗? 问候,
编辑:我这样做是这样的:
if (SUCCEEDED(HRESULT_FROM_NT(ntsStatus)) && SUCCEEDED(HRESULT_FROM_NT(ntsSubstatus)))
{
SHStrDupW(L"Bad password", ppwszOptionalStatusText);
*pcpsiOptionalStatusIcon = CPSI_ERROR;
}
但屏幕并没有停止。它登录用户。我需要检测 Windows 凭据正确但 API 调用失败时的场景,因此我需要捕获该状态并显示错误
【问题讨论】:
-
发布您的代码以澄清
-
您在哪里使用 REST API 进行身份验证?你在
GetSerialization()里面做吗? -
是的,我在 GetSerialization() 里面做
-
@MunkhdelgerTumenbayar 有什么建议吗?
-
@SaileshD 我在 GetSerialization() 中执行此操作。你能帮忙吗?
标签: c++ windows credential-providers