структура LSA_TOKEN_INFORMATION_V3 (ntsecpkg.h)
Структура LSA_TOKEN_INFORMATION_V3 добавляет поддержку утверждений к маркеру LSA и содержит сведения, которые пакет проверки подлинности может поместить в объект токена Windows версии 3 и имеет заменяющий LSA_TOKEN_INFORMATION_V1.
В объекте маркера Windows версии 3 хранятся все сведения, необходимые для создания маркера из пакета проверки подлинности в локальный центр безопасности (LSA). LSA передает эти сведения в ядро, чтобы создать объект маркера и вернуть дескриптор этому объекту маркера вызывающей объекту LsaLogonUser. LSA предполагает, что первый элемент этой структуры идентичен элементам в LSA_TOKEN_INFORMATION_V1 структуре.
Синтаксис
typedef struct _LSA_TOKEN_INFORMATION_V3 {
LARGE_INTEGER ExpirationTime;
TOKEN_USER User;
PTOKEN_GROUPS Groups;
TOKEN_PRIMARY_GROUP PrimaryGroup;
PTOKEN_PRIVILEGES Privileges;
TOKEN_OWNER Owner;
TOKEN_DEFAULT_DACL DefaultDacl;
TOKEN_USER_CLAIMS UserClaims;
TOKEN_DEVICE_CLAIMS DeviceClaims;
PTOKEN_GROUPS DeviceGroups;
} LSA_TOKEN_INFORMATION_V3, *PLSA_TOKEN_INFORMATION_V3;
Члены
ExpirationTime
Время, когда контекст безопасности становится недопустимым. Используйте значение в отдаленном будущем, если срок действия контекста никогда не истекает. Текущая версия ядра операционной системы не применяет этот срок действия.
User
TOKEN_USER структуру, содержащую идентификатор безопасности пользователя, который входит в систему. Значение идентификатора безопасности SID находится в отдельно выделенном блоке памяти.
Groups
TOKEN_GROUPS структуры, содержащей идентификаторы безопасности групп, в которые входит пользователь. Сюда не должны входить идентификаторы WORLD или другие определяемые системой и назначаемые системой идентификаторы безопасности. Они будут добавлены автоматически LSA.
Ожидается, что каждый sid будет находиться в отдельно выделенном блоке памяти. Структура TOKEN_GROUPS также должна находиться в отдельно выделенном блоке памяти. Все эти блоки памяти должны быть выделены путем вызова функции AllocatePrivateHeap .
PrimaryGroup
TOKEN_PRIMARY_GROUP структуру, которая используется для создания основной группы пользователя. Это значение не должно соответствовать одному из идентификаторов безопасности, назначенных пользователю.
Идентификатор безопасности, на который указывает эта структура, должен находиться в отдельно выделенном блоке памяти.
Этот элемент является обязательным и должен быть заполнен.
Privileges
TOKEN_PRIVILEGES структура, содержащая привилегии, назначенные пользователю. Этот список привилегий будет дополнен или переопределен любыми назначенными локальной политикой безопасности привилегиями.
Ожидается, что каждая привилегия будет находиться в отдельно выделенном блоке памяти. Структура TOKEN_PRIVILEGES также должна находиться в отдельно выделенном блоке памяти.
Если пользователю не назначены привилегии, для этого элемента может быть задано значение NULL.
Owner
TOKEN_OWNER структура. Этот элемент можно использовать для установки явного владельца по умолчанию. Как правило, идентификатор пользователя используется в качестве владельца по умолчанию. Если требуется другое значение, его необходимо указать здесь.
Элемент Owner.Sid может иметь значение NULL , чтобы указать, что нет альтернативного значения владельца по умолчанию.
DefaultDacl
TOKEN_DEFAULT_DACL структура. Этот элемент может использоваться для установки защиты по умолчанию для пользователя. Если значение не указано, будет установлена защита по умолчанию, которая предоставляет всем пользователям доступ.
Элемент DefaultDacl.DefaultDacl может иметь значение NULL , чтобы указать, что защита по умолчанию отсутствует.
UserClaims
TOKEN_USER_CLAIMS структура. Этот член хранит непрозрачный большой двоичный объект пользовательских утверждений для маркера. Элемент UserClaims может иметь значение NULL , чтобы указать, что в маркере нет дополнительных утверждений пользователя. Утверждения являются разрешенными сущностями, поэтому пропуск утверждений может ограничить доступ.
DeviceClaims
TOKEN_DEVICE_CLAIMS структура. Этот член сохраняет большой двоичный объект с непрозрачными утверждениями устройства для маркера. Элемент DeviceClaims может иметь значение NULL , чтобы указать, что в маркере нет дополнительных утверждений устройства. Утверждения являются разрешенными сущностями, поэтому пропуск утверждений может ограничить доступ.
DeviceGroups
TOKEN_GROUPS структуру, содержащую идентификаторы безопасности групп для элемента устройства, который выполняет проверку подлинности. Как и в случае с группами пользователей, это не должно включать world или другие определяемые системой или назначенные идентификаторы безопасности. Элемент DeviceGroups может иметь значение NULL , чтобы указать, что компаундирование не должно происходить. Если deviceGroups присутствуют, LSA добавит WORLD и другие назначенные идентификаторы безопасности.
В отличие от групп пользователей, не существует понятия основной группы устройств.
Ожидается, что каждый sid будет находиться в отдельно выделенном блоке памяти. Структура TOKEN_GROUPS также должна находиться в отдельно выделенном блоке памяти.
Требования
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Верхняя часть | ntsecpkg.h |