Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Получение уникального GUID пользователя Active Directory в Delphi

Delphi , Файловая система , Активные директории

При работе с Active Directory (AD) в Delphi часто требуется получить уникальный идентификатор (GUID) пользователя. В этом материале мы рассмотрим, как это сделать, учитывая некоторые нюансы, которые могут возникнуть в процессе.

Задача

Нам нужно получить уникальный GUID пользователя Active Directory в Delphi. Для этого мы будем использовать интерфейс IADsUser, который предоставляет доступ к свойствам пользователя.

Решение

Используя интерфейс IADsUser, мы можем получить доступ к свойству GUID, которое должно содержать уникальный идентификатор пользователя. Однако, как было отмечено в контексте, это свойство возвращает одинаковое значение для всех пользователей, что неверно.

Чтобы получить правильный уникальный GUID пользователя, мы можем воспользоваться объектом IADsNameTranslate, который позволяет преобразовывать имена пользователей в GUID. Вот пример кода на Object Pascal (Delphi), который демонстрирует это:

uses
  ActiveX,
  ADODB;

// Создаем объект IADsNameTranslate
var
  NameTranslate: IADsNameTranslate;
begin
  NameTranslate := CreateOleObject('NameTranslate') as IADsNameTranslate;

  try
    // Инициализируем объект
    NameTranslate.Init(ADS_NAME_INITTYPE_GC, '');

    // Устанавливаем имя пользователя в формате NT4
    NameTranslate.Set(ADS_NAME_TYPE_NT4, 'your_domain\your_username');

    // Получаем GUID пользователя
    var
      GUID: string;
    begin
      GUID := NameTranslate.Get(ADS_NAME_TYPE_GUID);
      // Теперь вы можете использовать переменную GUID, содержащую уникальный идентификатор пользователя
    end;
  finally
    // Освобождаем объект
    NameTranslate := nil;
  end;
end;

В этом примере мы создаем объект IADsNameTranslate, инициализируем его и устанавливаем имя пользователя в формате NT4. Затем мы получаем GUID пользователя, вызвав метод Get с параметром ADS_NAME_TYPE_GUID. Полученный GUID можно использовать для дальнейшей работы с пользователем в Active Directory.

Заключение

При работе с Active Directory в Delphi для получения уникального GUID пользователя можно использовать объект IADsNameTranslate. Это позволяет получить правильный уникальный идентификатор пользователя, который можно использовать в дальнейшей работе с Active Directory.

Создано по материалам из источника по ссылке.

Материал описывает, как получить уникальный идентификатор (GUID) пользователя Active Directory в Delphi с использованием интерфейса IADsNameTranslate для получения корректного результата.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Активные директории ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-05-01 13:19:06/0.0030980110168457/0