当用户名采用 UPN 格式时,即使密码正确,Azure AD 用户的 LogonUser() 也会失败

LogonUser() fails for Azure AD user when username is in UPN format even when password is correct

这是我用来检查用户输入的密码是否正确的代码。 我的用户是登录到 windows 10 Azure AD 加入机器的 AzureAD 用户。


if (LogonUser(upn., NULL, pwd, LOGON32_LOGON_NETWORK,
LOGON32_PROVIDER_DEFAULT, &token) != 0)

LogonUser 失败,错误为 1326。无效的用户名或密码。 但在 Domain\username 格式中同样可以正常工作。

当用户名是 UPN 格式时,我该怎么做才能让它正常工作。

谢谢约瑟夫·威尔科克森

将域字段设置为“AzureAD”解决了这个问题。希望微软尽快更新文档。