首页 > 解决方案 > 在另一台计算机上验证 Windows 访问令牌

问题描述

我正在开发一个客户端/服务器应用程序(客户端和服务器都用 C++ 编写并在 Windows 计算机上运行)。我需要在服务器计算机上授权客户端计算机的当前用户,但无需用户输入密码。

在 Windows 中,您拥有当前运行进程的访问令牌。您还可以检查为该令牌分配了哪个用户以及它在哪个组中,等等。我想将该令牌发送到我的服务器应用程序并在那里针对域控制器进行验证。在 Windows 中这样的事情可能吗?

我想象这样一个场景:客户端应用程序生成一个令牌,可以根据域控制器验证该令牌是由该用户生成的并且在几分钟内有效。然后令牌将被序列化并发送到我的服务器应用程序(即通过 REST API)。然后我的服务器反序列化该令牌并使用 Windows API 针对域控制器验证生成的令牌。域控制器还提供附加信息,例如该令牌中包含的用户名。

那可能吗?我找到了类似“Windows Identity Foundation”和“AuthZ”API 的东西,但它似乎不适合?

标签: c++windowstoken

解决方案


你可以做到,ADFS 和 NTLM 支持这一点,但请查看这篇文章,了解如何做到这一点。

共享令牌


推荐阅读