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

C++ 当用户名为UPN格式时,即使密码正确,Azure AD用户的LogonUser()也会失败,c++,visual-c++,msdn,C++,Visual C++,Msdn,这是我的代码,用于检查用户输入的密码是否正确。 我的用户是AzureAD用户,已登录到加入Microsoft 10 Azure AD的计算机 LogonUser失败,出现错误1326。无效的用户名或密码。 但是相同的域\用户名格式可以正常工作 当用户名为UPN格式时,我该怎么做才能使其正常工作。谢谢你Joseph Willcoxon 将域字段设置为“AzureAD”修复了该问题。希望microsoft尽快更新该文档。很有趣。。。我知道文档中说,对于UPN格式,lpszDomain参数必须为N

这是我的代码,用于检查用户输入的密码是否正确。 我的用户是AzureAD用户,已登录到加入Microsoft 10 Azure AD的计算机



LogonUser失败,出现错误1326。无效的用户名或密码。 但是相同的域\用户名格式可以正常工作


当用户名为UPN格式时,我该怎么做才能使其正常工作。

谢谢你Joseph Willcoxon


将域字段设置为“AzureAD”修复了该问题。希望microsoft尽快更新该文档。

很有趣。。。我知道文档中说,对于UPN格式,lpszDomain参数必须为NULL。对于露齿而笑,你试过使用“AzureAD”吗?是的,它可以添加AzureAD。但我怀疑我是否应该这样做,因为文档说在使用upn时使用null。那个API很旧。可能他们还没有更新文档。AzureAD的加入相对较新……当然比最初编写文档时更新了很多。但是,我理解当医生们说不要这样做时,人们对这样称呼的恐惧。我只是认为AzureAD增加了另一个层次的复杂性,在API中解决它的唯一方法就是包含AzureAD域。希望雷蒙德能插话。
if (LogonUser(upn., NULL, pwd, LOGON32_LOGON_NETWORK,
LOGON32_PROVIDER_DEFAULT, &token) != 0)