Поделиться через


структура LSA_TOKEN_INFORMATION_V1 (ntsecpkg.h)

Структура LSA_TOKEN_INFORMATION_V2 содержит сведения, которые пакет проверки подлинности может поместить в объект токена Windows версии 2 и имеет заменяющий LSA_TOKEN_INFORMATION_V1.

Сведения о маркере версии 2 используются в большинстве входов. Структура идентична структуре LSA_TOKEN_INFORMATION_V1 , за исключением того, что выделение памяти обрабатывается по-разному. Структура LSA_TOKEN_INFORMATION_V2 предназначена для монолитного выделения с привилегиями, DACL, идентификаторами БЕЗОПАСНОСТИ и массивом групп либо частью одного выделения, либо выделена и освобождена извне.

В объекте маркера Windows версии 2 хранятся все сведения, необходимые для создания маркера из пакета проверки подлинности в локальный центр безопасности (LSA). LSA передает эти сведения в ядро, чтобы создать объект маркера и вернуть дескриптор этому объекту маркера вызывающей объекту LsaLogonUser.

Синтаксис

typedef struct _LSA_TOKEN_INFORMATION_V1 {
  LARGE_INTEGER       ExpirationTime;
  TOKEN_USER          User;
  PTOKEN_GROUPS       Groups;
  TOKEN_PRIMARY_GROUP PrimaryGroup;
  PTOKEN_PRIVILEGES   Privileges;
  TOKEN_OWNER         Owner;
  TOKEN_DEFAULT_DACL  DefaultDacl;
} LSA_TOKEN_INFORMATION_V1, *PLSA_TOKEN_INFORMATION_V1;

Члены

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 , чтобы указать, что защита по умолчанию отсутствует.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть ntsecpkg.h