Windows 使用凭据提供程序调用com对象

Windows 使用凭据提供程序调用com对象,windows,authentication,com,windows-authentication,credential-providers,Windows,Authentication,Com,Windows Authentication,Credential Providers,我想创建一个应用程序登录到windows,这将使用二维码,图形密码和Kinect运动密码为我的学校项目 我了解到我需要使用凭证提供者。这是我第一次使用它,我非常困惑 我的问题是:是否可以使用上述内容创建一个应用程序,然后让凭证提供者调用该应用程序?我创建的应用程序必须是com对象吗 提前谢谢 好消息——是的,这是可能的! 坏消息——你有很多工作要做;) 作为一个建议,最好让您的凭证提供者尽可能简单,并通过 二维码、图形密码和Kinect运动密码 将放入另一个应用程序。这样,凭据提供程序将把输入的

我想创建一个应用程序登录到windows,这将使用二维码,图形密码和Kinect运动密码为我的学校项目

我了解到我需要使用凭证提供者。这是我第一次使用它,我非常困惑

我的问题是:是否可以使用上述内容创建一个应用程序,然后让凭证提供者调用该应用程序?我创建的应用程序必须是com对象吗

提前谢谢

好消息——是的,这是可能的! 坏消息——你有很多工作要做;)
作为一个建议,最好让您的凭证提供者尽可能简单,并通过

二维码、图形密码和Kinect运动密码

将放入另一个应用程序。这样,凭据提供程序将把输入的凭据传递给该应用程序,并将接收回身份验证结果。该应用程序将完成最艰巨的工作。此应用程序应该是windows服务,因为它始终在运行是否存在任何用户会话。应用程序和凭据提供程序之间的通信可以通过命名管道或任何其他ipc机制来完成

其他问题:
凭证提供程序本身就是一个COM。
要与其他应用程序通信,它们不必是COM。

只要您有足够的权限,您可以从凭据提供程序启动任何应用程序。

该过程不必是服务,您可以从COM对象启动exe

您可以做的是将COM对象重新打包/codebase,然后从Initialize()中的crededial提供程序将其后期绑定到它

在GetSerialization()中,您将调用COM对象中的方法,该方法启动进程(exe)并通过命名管道进行连接。它将您需要的值返回给凭据提供程序,然后您继续登录