在允许的进程之间传递一个Windows安全令牌

想象一下,我有一个现有的进程作为特定用户Windows下运行.该进程可以允许其当前令牌(具有OpenThreadToken和DuplicatetokenEx等),将其传递到同一台计算机上的另一进程(可能通过网络套接字或其他IPC),然后期望该进程能够用它来调用CreateProcessAsUser?

从我阅读的文档(http://msdn.microsoft.com/en-us/library/ms682429%28VS.85%29.aspx)中,我没有看到没有禁止这一点的内容,但是也许这个令牌只能由创建它的线程或进程使用.

(为什么?我想要有一个Web请求来到IIS,经过身份验证,IIS会排除远程用户的模拟,然后将模拟令牌传递到另一个服务器进程(在同一台机器上),以便服务器进程可以在远程用户的上下文中执行一些安全检查)

是的,这是可能的.您可以使用DuplicateHandle获取对目标进程有效的句柄(将新的句柄值发送到目标进程,以便它知道). 但是,目标进程必须具有相应使用令牌的权限.例如. SE_IMPERSONATE模拟用户和SE_ASSIGN_PRIMARY以供CPAU使用.当然有一些例外,您可以在MSDN中阅读ImpersonateLoggedOnUser和CPAU.

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...