Функция RtlEqualPrefixSid (ntifs.h)
Подпрограмма RtlEqualPrefixSid определяет, равны ли два префикса идентификатора безопасности (SID). Префикс безопасности — это весь идентификатор безопасности, за исключением последнего значения подзаверх.
Синтаксис
NTSYSAPI BOOLEAN RtlEqualPrefixSid(
[in] PSID Sid1,
[in] PSID Sid2
);
Параметры
[in] Sid1
Указатель на первую структуру безопасности для сравнения. Должен указывать на допустимый идентификатор безопасности.
[in] Sid2
Указатель на вторую структуру sid для сравнения. Должен указывать на допустимый идентификатор безопасности.
Возвращаемое значение
RtlEqualPrefixSid возвращает TRUE, если префиксы безопасности равны, FALSE в противном случае. Если любая структура безопасности недопустима, возвращаемое значение не определено.
Замечания
RtlEqualPrefixSid позволяет серверу в одном домене проверить попытку пользователя войти в другой домен. Например, если пользователь пытается войти в RemoteDomain с рабочей станции в LocalDomain, сервер для LocalDomain может запросить идентификаторы SID для пользователя и групп пользователей из RemoteDomain. Контроллер домена для RemoteDomain отвечает соответствующими идентификаторами SID.
Все идентификаторы SID для указанного домена обязательно имеют одинаковый префикс. Когда сервер получает идентификаторы SID пользователя, он может вызывать RtlEqualPrefixSid для каждого идентификатора безопасности, сравнивая идентификатор безопасности пользователя или группы с идентификатором безопасности для RemoteDomain. Если любой из префиксов безопасности не равен, сервер отказывается от попытки входа.
Рекомендуется изменить идентификатор безопасности для домена перед сравнением его с группой или идентификатором безопасности пользователя. Если идентификатор безопасности для RemoteDomain равен S-1-1234-8, каждая группа или идентификатор безопасности пользователя для этого домена будет иметь S-1-1234-8 в качестве префикса. Чтобы сравнить идентификаторы безопасности домена с помощью RtlEqualPrefixSid, вызывающий объект копирует идентификатор домена и добавляет в копию любое значение относительного идентификатора подавторности, тем самым создавая идентификатор безопасности в форме S-1-1234-8-0. (Относительный идентификатор или RID — это часть идентификатора безопасности, которая определяет пользователя или группу в отношении центра, выдавшего идентификатор БЕЗОПАСНОСТИ.) Затем вызывающий объект использует измененный идентификатор безопасности домена в качестве шаблона, с которым сравниваются группы и идентификаторы пользователей.
Дополнительные сведения о безопасности и управлении доступом см. в модели безопасности Windows для разработчиков драйверов и документации по этим разделам в пакете SDK для Windows.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | ntifs.h (include Ntifs.h) |
библиотеки | Ntdll.lib |
DLL | Ntdll.dll |
IRQL | <= APC_LEVEL |