凭据提供程序通过网络进行通信

时间:2011-12-03 18:43:35

标签: windows credentials winhttp winlogon credential-providers

首先让我解释一下我想要的解决方案:

我正在创建一个自定义凭据提供程序,通过将登录凭据发送到外部身份验证服务器来对用户进行身份验证,然后将相同的凭据以及一些额外的身份验证参数传递回凭据提供程序。然后,凭据提供程序将这些凭据发送到本地安全机构,后者又根据自定义身份验证包对用户进行身份验证。

我对Windows编程很陌生,但我一直在研究Credential Provider技术参考,所以我对它是如何工作有一些了解。我还没想到的是:在编写自定义凭据提供程序时,我可以将其编程为外部通信,就像上面示例中提出的那样吗?我在某处读过,我可以使用WinHTTP与Credential Provider发送数据。这是对的吗?

此致 bagzera

2 个答案:

答案 0 :(得分:2)

之前我写过这样的提供者。使用WinHTTP与外部实体通信没有问题。如果您有非正常的SSL要求,则可能会遇到HTTPS的一些问题。您需要做的就是将证书加载到正确的商店中。

答案 1 :(得分:2)

首先,您需要实现IConnectableCredentailProviderCredential接口,该接口提供一个名为Connect的函数(此方法将在GetSerialization之前调用),因此在此函数中,您可以建立与身份验证服务器的连接