Jeśli ktoś już coś takiego robił, to proszę o wskazówki.

Ja używam czegoś takiego:


uses adshlp, ActiveX .... ;


function LogToDomain( xDomain, xUser, xPass : String) : LongInt;
var
    Obj:IADs;
begin
  Screen.Cursor:=crHourglass;
  Result:=-1;
  try
     CoInitialize(nil);
     Result:= ADsOpenObject('WinNT://'+xDomain,xUser,xPass,ADS_SECURE_AUTHENTICATION,IADs,Obj);

  finally
    CoUninitialize;
    Screen.Cursor:=crDefault;
    
  End;
End;


procedure TFormLogowanie.BitBtn1Click(Sender: TObject);
var _ok : boolean;
    _sql : string;
begin
        if (Edit1.Text = '') or (Edit2.Text = '') then
        begin
            Showmessage('Wpisz nazwę użytkownika i hasło');
            exit;
        end;
        logged := false;
        id_oper := Edit1.Text;
        log_domain_res := LogToDomain( 'EURO', Edit1.Text, Edit2.Text);
        // sprawdzenie statusu logowania z wykorzystaniem funkcji z pakietu
        _ok := Succeeded(log_domain_res);
    if _ok = True then
    begin
        logged := true;
        FormLogowanie.close;
        FormMain.ustaw_uprawnienia(id_oper, FormMain.ADOQueryTemp, 1);
        FormMain.Caption := 'Konsola wskaźników - ' + id_oper;              
    end
end;

Ale niestety mogę się zalogować tylko na swoim komputerze (jak jestem zalogowany do windows na własnym użytkowniku) - jak jestem na innym komputerze (komputer jest zalogowany na innego użytkownika) to wywala mi błąd: "Wielokrotne połączenie z serwerem lub udostępnionym zasobem przez tego samego uzytkownika przy użyciu wiecej niż jednej nazwy użytkownika są niedozwolone"