问题标签 [credential-providers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1592 浏览

c++ - 凭据提供程序的自定义 GUI

我围绕 OpenCV/EmguCV 设计了一个面部识别算法(还没有被打败!)

现在,我显然想用它来登录我的电脑。看来,最好的方法是实现一个自定义凭据提供程序(如 Windows 8 提供的图片锁)。但据我所知,凭证提供者无法定义自定义 GUI(我需要的),不得不将字段定义为 LoginUI 以呈现其 UI。

但我见过具有自定义 UI(图片锁定、商业生物识别等)的凭据提供程序。我错过了什么吗?有没有一些无证的方法可以做到这一点?还是我真的对凭证提供者一无所知?

默认情况下,我是 .NET 程序员,但我不介意将我的算法转换为 C++(应该不难,因为它是 OpenCV)

0 投票
1 回答
2342 浏览

c++ - 如何在 Windows 7 中以编程方式调用 Ctrl+Alt+Del 窗口

我正在为 Windows 7 开发自定义凭据提供程序 dll。这有条件检查;如果失败,我想显示Ctrl++Alt窗口Del

我可以调用哪个函数来调用Ctrl++ (SAS Alt)Del窗口?

0 投票
0 回答
223 浏览

c++ - CPFT_SMALL_TEXT 值在 Windows 7 Credential Provider DLL 中初始化后无法修改?

我正在修改 Windows 7 中的凭据提供程序 dll。

在那个 dll 中,我尝试添加一个小文本字段并设置一个值。

使用下面的代码可以正常工作。

之后,我想在特定条件下更改文本值,如下所示。

但它不起作用。如何解决?

0 投票
0 回答
185 浏览

c++ - 如何在 Vista + 中以编程方式登录

我想知道自从 Vista 删除 GINA 后如何以编程方式登录到 Windows 中的另一个用户帐户。我已经读过创建凭据提供程序是替代品,尽管我还没有看到凭据提供程序登录或加载 Windows 文件的示例,如 GINA 所做的那样。我以前见过第三方终端服务器这样做。我希望能够在仍然登录到原始帐户的同时登录另一个用户并加载 Windows 文件。这是怎么做到的?

0 投票
1 回答
264 浏览

credential-providers - 凭据提供程序 Vista+ 智能卡移除事件

我是编写凭据提供程序的新手,所以有人可以帮助我了解如何在 Windows vista+(编程语言 C++)上捕获智能卡移除事件。我需要在那个事件上锁定机器。

0 投票
1 回答
508 浏览

login - 在 NPLogonNotify() windows7 中检测当前看到的智能卡登录或创建提供程序

在 Windows 7 64 位中,我在 HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon\Notify 下将注册表项“SmartCardLogonNotify”创建为 DWORD 并设置为 1

现在,当我使用智能卡登录时,会调用我的 NPLogonNotify()。

那么如何区分用户是使用用户名/密码还是智能卡登录呢?

每次我收到 Kerberos:交互式登录通知。

我是 Windows 新手。请指教。提前致谢。

0 投票
1 回答
3300 浏览

c++ - 如何使用 Visual Studio 2012 构建 Windows 7 凭据提供程序示例?

我正在创建一个自定义凭据提供程序包装器。Windows 7 SDK Sample Credential Provider Wrapper 完成了我想要的大部分工作,因此我的计划是从它开始并进行修改,以便它完成我需要做的所有事情。

但是,我遇到了一个小问题。我想使用 Visual Studio 2012 来做开发工作。示例是使用 Visual Studio 2008 创建的。在使用 Visual Studio 2008 时,我已经能够成功构建和使用示例提供程序。但是,当我尝试将项目导入 Visual Studio 2012 时,它会编译得很好,但它没有当我尝试使用它时不起作用。

我已经能够使用 WinDbg 验证凭据提供程序在锁定/登录屏幕上时正在加载,但没有显示任何内容。不幸的是,我对 WinDbg 了解不多,无法使用该工具追踪问题。

在研究有关使用 win32 平台为 64 位计算机编译凭据提供程序时出现的问题时,我在其他地方看到了一个建议。我使用的是 64 位机器,并确保在两个版本的 Visual Studio 中都使用 x64 平台进行编译。

另外值得一提的是,在进行了似乎没有问题的 VS2008 到 VS2012 的转换之后,我不得不将“运行时库”设置从“多线程 DLL (/MD)”更改为“多线程 (/MT) ”。这是 VS2008 项目中的原始设置。可以在不进行此更改的情况下让凭据提供程序“工作”(也就是不会引发有关缺少 DLL 依赖项的错误),但我必须首先为 Visual Studio 2012 安装 Visual C++ Redistributable。进行此更改会删除该依赖项。

关于如何解决此问题并成功编译 VS2012 中的凭据提供程序示例的任何建议?

更新

在同一台机器上安装 VS2008 和 VS2012 后,我能够将“平台工具集”属性从“Visual Studio 2012 (v110)”更改为“Visual Studio 2008 (v90)”。一旦进行了此更改,编译工作并且凭证提供程序就像直接使用 VS2008 编译时一样工作。此测试未更改其他设置。我可以使用这个解决方案,但似乎我应该能够使用 VS2012 平台工具集让它工作,所以我不想解决这个问题,因为 VS2008 链接器可能非常有问题。

0 投票
1 回答
1013 浏览

c++ - 检索有关当前登录会话的信息(Visual C++,Win 7)

我正在实施 Windows 解锁程序。我需要知道,目前哪些用户已登录。

我正在尝试使用LsaEnumerateLogonSessions(...)LsaGetLogonSessionData(...)方法来做到这一点。

但结果我不仅收到了登录用户的会话信息,还收到了注销的用户的会话信息。此外,如果用户注销然后登录,则会出现更多用户的会话条目,等等。

看起来,结果不是当前登录会话的列表,而是自上次开机以来存在的所有登录会话的列表。

简短的示例代码:

有什么解决办法吗?

0 投票
1 回答
407 浏览

windows-8 - win8中的凭据提供程序

我想使用代码自动登录我的用户帐户。我使用的是 Windows 8。我尝试使用凭据提供程序示例。我在 SDK 中编译了示例并将 dll 添加到注册表中,如自述文件中所述。

当我锁定我的计算机时,我可以看到常规用户帐户磁贴。只有当我按下 Esc 时,我才会看到示例中添加的 2 个新图块。然后,如果我按下其中一个,并尝试任何类型的密码,我就会回到只有常规磁贴的上一页。并且无法登录。

这是预期的行为吗?

0 投票
1 回答
624 浏览

c++ - 使用调试模式构建时,凭据提供程序 DLL 无法正确加载

我已经成功地为 x64 构建了发布模式的 DLL。使用 Register.reg 文件注册后,当我锁定计算机时,凭据提供程序会正确加载。

但是,当我在 x64 的调试模式下构建时,当我锁定我的计算机时,我的凭据提供程序将不会加载。我的构建配置有问题吗?我需要检查什么?