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

时间:2012-12-01 05:33:38

标签: windows authentication com windows-authentication credential-providers

我想创建一个登录Windows的应用程序,它将使用我的学校项目的QR码,图形密码和Kinect动作密码。

我了解到我需要使用凭据提供程序。这是我第一次使用它而且非常困惑。

我的问题是:是否可以使用上述方法创建应用程序,然后让凭据提供程序调用该应用程序?我制作的应用程序是否必须是一个com对象?

提前致谢!

2 个答案:

答案 0 :(得分:1)

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

进行所有用户身份验证工作。
  

QR码,图形密码和Kinect动态密码

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

其他问题:
凭证提供者本身就是COM 要与其他应用程序通信,它们不必是COM 只要您拥有足够的权利,您就可以从凭据提供者处获得任何应用。

答案 1 :(得分:1)

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

你可以做的是你的COM对象的regasm / codebase,然后在Initialize()的Credetial Provider中将它绑定到它;

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