WinAPI:GetTokenInformation() 和 TokenElevationType - 枚举数的实际含义是什么?

问题描述 投票:0回答:1

GetTokenInformation()
TokenElevationType
一起使用将返回以下枚举器:

typedef enum _TOKEN_ELEVATION_TYPE {
  TokenElevationTypeDefault,
  TokenElevationTypeFull,
  TokenElevationTypeLimited
} TOKEN_ELEVATION_TYPE, *PTOKEN_ELEVATION_TYPE;

但是它们实际上是什么意思?

TokenElevationTypeDefault
The token does not have a linked token.
TokenElevationTypeFull
The token is an elevated token.
TokenElevationTypeLimited
The token is a limited token.

对我来说没有任何意义。我可以告诉你

TokenElevationTypeDefault
TokenElevationTypeFull
似乎是我认为“提升”的东西,但是不知道如何在有限模式下提升它?

蒂亚!!

winapi
1个回答
0
投票

您可以在此处查看官方文档以了解上下文:用户帐户控制如何工作

默认情况下,标准用户和管理员用户都可以访问资源并 在标准用户的安全上下文中执行应用程序。当用户 登录后,系统会为该用户创建访问令牌。访问权限 令牌包含有关用户访问级别的信息 授予[...]

当管理员登录时,会创建两个单独的访问令牌 对于用户:标准用户访问令牌管理员访问权限 代币.

所以

TOKEN_ELEVATION_TYPE
枚举值的含义是这样的:

TokenElevationTypeDefault
:当您是标准用户时(或者在特殊情况下,例如没有启用 UAC 的管理员(请查看此链接,例如 https://candritzky.wordpress.com/tag/uac/),这样您就不会t 有两个访问令牌。在这种情况下,您可以使用 GetTokenInformation
TokenElevation
类和 TOKEN_ELEVATION 的 TokenIsElevated 成员 来确定令牌是否具有提升的权限。

TokenElevationTypeFull
:当您有两个令牌并且您使用提升的管理员访问令牌时。

TokenElevationTypeLimited
:当您有两个令牌并且您使用的是标准用户访问令牌时。

© www.soinside.com 2019 - 2024. All rights reserved.