模拟命名管道客户端

模拟 是指在安全上下文中执行线程的能力不同于拥有线程的进程。 模拟使服务器线程可以代表客户端执行操作,但在客户端安全上下文的限制范围内。 通常,客户端具有一定级别的访问权限。 有关详细信息,请参阅 模拟

命名管道服务器线程可以调用 ImpersonateNamedPipeClient 函数来假定连接到管道客户端的用户的访问令牌。 例如,命名管道服务器可以提供对管道服务器对其具有访问权限的数据库或文件系统的访问权限。 当管道客户端向服务器发送请求时,服务器将模拟该客户端并尝试访问受保护的数据库。 然后,系统会根据客户端的安全级别授予或拒绝服务器的访问权限。 服务器完成后,它将使用 RevertToSelf 函数还原其原始安全令牌。

模拟级别确定服务器在模拟客户端时可以执行的操作。 默认情况下,服务器在 SecurityImpersonation 模拟级别进行模拟。 但是,当客户端调用 CreateFile 函数来打开管道客户端的句柄时,客户端可以使用 SECURITY _ SQOS _ 当前标志来控制服务器的模拟级别。