Przejdź do głównej zawartości

Pobieranie danych z Active Directory


W celu zintegrowania się z AD należy wykonać dwa działania – skonfigurować połączenie do AD oraz wykorzystać go w ramach pakietu przetwarzania.

Skonfigurowanie połączenia z serwerem AD​

Jeśli łączymy się tylko z jednym serwerem Active Directory w ramach aplikacji, to należy skorzystać z już skonfigurowanego wpisu o nazwie ADConnectionString, którego zawartość ustawia się za pomocą wartości parametru konfiguracyjnego common.connection.provider_ad

  1. Przejdź do VSoft archITekt Launcher i do opcji rekonfiguracji projektu. Przykład wpisu takiego klucza znajduje się poniżej:

image

W przypadku konieczności połączenia się z więcej niż jednym serwerem AD, należy dodać kolejne wpisy do sekcji ConnectionStrings aplikacji – analogicznie jak to zostało zrobione dla wpisu ADConnectionString

Więcej na temat definiowania połączenia do AD w aplikacji znajduje się w rozdziale: Przygotowanie infrastruktury na środowisku OnPremises.

Więcej o definiowaniu kluczy konfiguracyjnych oraz konfiguracji technicznej znajduje się w rozdziale: Konfiguracja techniczna aplikacji.

Pobieranie danych z AD w pakiecie przetwarzania​

W celu pobierania danych z AD w ramach pakietu przetwarzania należy zarejestrować rozszerzenie VTS2.ADClient Znajduje się ono w pliku VTS2.ADClient.dll w katalogu np. archITekt Studio bieżącego projektu.

  1. Przejdź do pakietu przetwarzania i wybierz opcję z menu Zewnętrzny kod .NET (CC).
  2. W kolejnym oknie wczytaj rozszerzenie VTS2.ADClient.dll

image

  1. Nadaj nazwę obiektu CC oraz wybierz z pola rozwijalnego nazwę zestawu .NET.

image

Użycie rozszerzenia możliwe jest z poziomu bloczka Uruchomienie kodu, w którym wywołujemy metodę Query:

AD.Query("ADConnectionString", "", "(&(objectClass=user)(objectCategory=person))")

image

Metoda posiada trzy parametry:

  1. (wymagany) - nazwę klucza z sekcji ConnectionStrings zawierającego połączenie do serwera AD (domyślnie jest to ADConnectionString)
  2. (opcjonalny) - listę pól jakie chcemy by zostały zwrócone lub usunięte z zapytania: lista oddzielona przecinkami lub średnikami. Pola, które mają być usunięte są dodatkowo poprzedzone znakiem - (minus). Przykład listy pól, która usuwa pole dc oraz dodaje pole extraField

-dc, extraField

  1. (opcjonalny) zapytanie ograniczające zakres zwracanych danych. Zapytanie musi być skonstruowane w postaci filtra LDAP

Filtrowanie danych w LDAP​

W celu zbudowania filtra ograniczającego zakres zwracanych danych z zapytania do AD należy stworzyć filtr w formacie LDAP. Sposób budowy filtrów wyszukujących dane jest opisany na stronie: https://learn.microsoft.com/en-us/windows/win32/adsi/search-filter-syntax

Funkcjonalność pobierania danych z LDAP korzysta z klasy DirectorySearcher wymieniony w poprzednim paragrafie filtr musi mieć postać taką jakiej wymaga właściwość Filter tej klasy:

https://learn.microsoft.com/en-us/dotnet/api/system.directoryservices.directorysearcher.filter

Zakres domyślnie zwracanych danych​

Odpowiedź na zapytanie do serwera AD zwraca domyślnie listę pól taką jaka widoczna jest na poniższym ekranie. Jeśli chcemy skorzystać z innego, dodatkowego pola, wówczas należy w parametrze przekazać listę dodatkowych pól do zwrócenia (lub listę pól do usunięcia z poniższej listy).

image

Przykładowy pakiet może wyglądać w następujący sposób:

image

Zobacz również​

Przykłady użycia

Bloczki