我目前正在尝试了解如何制作自定义凭据提供程序。
我有一个样本可以帮助我。此示例特别为 WinLogon 实现了 ICredentialProvider 和 ICredentialProviderFilter。我的工作是实现 CPUS_CREDUI 使用场景。
但是,有很多东西我在最初的实现中没有得到,所以我什至不能指望自己实现。
我找到的所有文档都只解释了每个部分的实际作用。这是我心中唯一“足够清楚”的部分。
问题是我无法将这些部分连接在一起。
不同的功能似乎是由 Windows 本身调用的。我怎么知道调用者是什么,使用了哪些参数,诸如此类?如果我知道,我可能对整个过程有更好的了解。
例如 :
有一个 CREDENTIAL_PROVIDER_USAGE_SCENARIO 类型的循环参数,它似乎改变了代码中进一步初始化 CP 的方式。它似乎首先在 CredentialProvider 构造函数中定义,但因为我不知道构造函数的调用者是什么......我猜它是由 WinLogon 调用的,但如果是这样,实际定义参数是什么?
示例的日志始终将此参数值显示为“CPUS_LOGON”。如果这是 WinLogon 调用 CP 构造函数的结果(如果我之前的假设为真),那么如何调用 CPUS_CREDUI ,因为它是 post Logon ?
这是我目前的主要问题。谢谢你,如果有人能照亮我。
我也愿意接受您提供给我的所有其他信息。
看看 Microsoft 的文档对您的凭据提供程序的第一个调用将是SetUsageScenario
HRESULT SetUsageScenario(
CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,
DWORD dwFlags
);
第一个参数是场景。
如果您的提供程序不是为提供的场景设计的,您可以只返回E_INVALIDARG
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句