3

我在尝试让域用户向我的自定义凭据提供程序进行身份验证时遇到问题。从 Microsoft 示例中,有一个_fIsLocalUser已签入的变量CSampleCredential::GetSerialization。在大多数情况下,这通常是正确的;但是,如果连接到域并使用磁Other User贴,那么我会得到The parameter is incorrect. 当凭证被序列化时,似乎甚至<Domain>\<Username>不接受建议的格式。如果可能的话,我也想支持<Username>@<UPN>

我不确定这种方法是否是问题,但是这里是文档https://msdn.microsoft.com/en-us/library/windows/desktop/aa374802(v=vs.85).aspx

谢谢

4

1 回答 1

0

你解决了你的问题吗?

我刚刚单击了您提供答案的链接,并找到了pszUserName参数注释。

对于在线身份,如果凭证为明文密码,则用户名格式为ProviderNameUserName。如果凭证是 SEC_WINNT_AUTH_IDENTITY_EX2 结构,则用户名是编码字符串,它是对 SspiEncodeAuthIdentityAsStrings 的函数调用的 UserName 参数输出。

该函数SspiEncodeAuthIdentityAsStrings有它的另一个自我 - SspiEncodeStringsAsAuthIdentity - 必须查看它。

于 2018-10-15T08:41:27.653 回答