gpt4 book ai didi

multithreading - 每个线程在 Win32 中模拟吗?

转载 作者:行者123 更新时间:2023-12-01 11:34:59 25 4
gpt4 key购买 nike

正在调用 ImpersonateSecurityContext在服务器上模拟调用线程上的客户端或整个进程。 documentation在这个问题上有点含糊,因为它指出“该函数创建一个模拟 token 并允许线程或进程在模拟上下文中运行”

我假设模拟仅针对调用线程,其他任何事情都会很奇怪,但我想确定。

最佳答案

根据 MSDN:

Client Impersonation

Impersonation is the ability of a thread to execute using different security information than the process that owns the thread. Typically, a thread in a server application impersonates a client. This allows the server thread to act on behalf of that client to access objects on the server or validate access to the client's own objects.

The Microsoft Windows API provides the following functions to begin an impersonation:
...
- A security package or application server can call the ImpersonateSecurityContext function to impersonate a client.

因此模拟是在每个线程的基础上完成的。

模拟可用于生成一个新进程作为模拟用户(通过使用 DuplicateTokenEx()CreateProcessAsUser() )但模拟永远不会使调用进程作为模拟用户运行,只有调用线程

在可以同时连接多个客户端的服务器上下文中,如果在进程范围的基础上应用客户端模拟,那将是非常危险的。

关于multithreading - 每个线程在 Win32 中模拟吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28023447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com