客户端模拟(授权)

模拟是指线程使用与拥有该线程的进程不同的安全信息执行的能力。 通常,服务器应用程序中的线程模拟客户端。 这样,服务器线程就可以代表该客户端访问服务器上的对象或验证对客户端自身对象的访问。

Microsoft Windows API 提供以下函数来开始模拟:

对于其中大多数模拟,模拟线程可以通过调用 RevertToSelf 函数还原自身安全上下文。 例外情况是 RPC 模拟,RPC 服务器应用程序在其中调用 RpcRevertToSelf RpcRevertToSelfEx,以还原其自身安全上下文。

注意:如果要从 Win32 服务模拟用户,并且调用依赖于用户环境变量的 API,则可能需要先调用 RegDisablePredefinedCache,然后才能进行模拟。