Piszę w Delphi, ale temat może dotyczyć dowolnego języka.

Tworzę aplikację klient - serwer. Obecnie na serwerze jest plik z bazą kont i haseł. Klient podłączając się podaje w oknie powyższe dane. Zaszyfrowane są one przesyłane do serwera i weryfikowane: złe - połączenie jest rozłączane, dobre - klient dostaje potwierdzenie.

Chciałbym, aby aplikacja, pracując w środowisku ActiveDirectory, nie wymagała loginu/hasła, a sama pobierała informacje o kontach właśnie z niego. Problem polega na tym, że nie posiadam jeszcze systemu z taką konfiguracją, a niedługo będę miał dostęp, ale na bardzo ograniczony czas - stąd moje pytania.

Jak klient po swojej stronie pobiera dane o zalogowaniu (w jaki sposób i jakie dane)?
Jak serwer może zweryfikować dane (serwer usługi może być innym komputerem niż serwer ActiveDirectory)?
Jak po zweryfikowaniu danych system jest w stanie identyfikować jednoznacznie klienta?

Mam trochę materiałów (głównie z łączeniem przez interfejsy COM), ale może ktoś ma doświadczenie z takimi aplikacjami lub ciekawe linki.