我知道,如果我想使用不同的凭据对网络资源进行身份验证,我可以使用 Win32 API 创建具有不同网络凭据的进程,方法是传递给和之LOGON_NETCREDENTIALS_ONLY
类的调用。 CreateProcessWithLogonW
CreateProcessWithTokenW
这相当于使用命令行RUNAS /NETONLY ...
。
但是,有一种边缘情况,调用的进程可能需要访问远程域上的网络资源,然后访问最终用户自己域内的网络资源。
如果我可以完全控制被调用的进程,我希望我可以分叉两次——一次使用用户的常规凭据,一次使用网络凭据——并使用某种 IPC 在进程之间进行通信。
不幸的是,调用的过程不在我的控制范围内。
那么,在我深入这个兔子洞之前,是否有一个 Win32 API 可以创建具有多个网络凭据的进程,每个进程都适用于特定的目标服务器?
或者我是否必须取消这个边缘案例,并推动替换调用的进程?