Я хотел бы создать группу SID для группы администраторов домена и передать ее CheckTokenMembership
, чтобы определить, принадлежит ли данный пользователь AD группе. Тем не менее, я не совсем уверен в том, какие полномочия идентификатора и сублицензии следует использовать с AllocateAndInitializeSid
. Все «рабочие» примеры, которые я видел до сих пор, касаются только местных групп.Как использовать AllocateAndInitializeSid для группы AD?
Пример:
SID_IDENTIFIER_AUTHORITY ntAuthority = SECURITY_NT_AUTHORITY;
PSID adminGroup;
AllocateAndInitializeSid(&ntAuthority,
2,
SECURITY_BUILTIN_DOMAIN_RID,
DOMAIN_ALIAS_RID_ADMINS,
0, 0, 0, 0, 0, 0,
&adminGroup);
Что суб-органы должны быть использованы для создания SID для группы AD Администраторов власти и? Я пробовал DOMAIN_GROUP_RID_ADMINS
и DOMAIN_USER_RID_ADMIN
с SECURITY_NT_AUTHORITY
, но CheckTokenMembership
всегда сообщал, что данный пользователь не был членом группы, которая была неправильной.
Любые примеры и указатели на он-лайн документы были бы оценены.
но какой токен вы используете для проверки? admin в uac? у него есть 'S-1-5-32-544' (sid, который вы используете) с атрибутом' SE_GROUP_USE_FOR_DENY_ONLY' – RbMm
Я использую токен, полученный от LogonUser. Пример: LogonUser (имя_пользователя, домен, пароль, LOGON32_LOGON_NETWORK, LOGON32_PRIVIDER_DEFAULT, & hToken) – bdristan
, но пользователь не поднят Я думаю? в этом случае 'S-1-5-32-544' (sid, который вы используете) с атрибутом' SE_GROUP_USE_FOR_DENY_ONLY' в токене. и CheckTokenMembership и должны вернуть false – RbMm