Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как проверить аккаунт пользователя? [D6, D7, Win2k, WinXP]


plotnick ©   (2008-08-08 16:59:00) 

Есть логин и пароль пользователя зарегистрированного в домене. Вопрос - в какую функцию нужно передать логин и пароль, что проверить, что такой пользователь действительно зарегистрирован в домене и пароль введен правильно.


plotnick   (2008-08-11 10:19:00) [1]

В общем нашел.

В мелкомягких по этому поводу: http://support.microsoft.com/kb/q180548

Есть еще способ через Active Directory:


function CheckValidLogon(const ADomainName, AUserName, APassword: WideString): Boolean;
var
 obj: Pointer;
 hr: HRESULT;
 User: IDispatch;
begin
 Result := False;
 hr := ADsGetObject('LDAP:', IADsOpenDSObject, obj);
 if hr = S_OK then
 begin
   try
     User := IADsOpenDSObject(obj).OpenDSObject('LDAP://dc=' + ADomainName + ',dc=local',
       AUserName, APassword, ADS_SECURE_AUTHENTICATION);
   except
   end;
   if User <> nil then
     Result := True;
 end;
end;


Anatoly Podgoretsky   (2008-08-11 09:16:00) [2]


> Подбиралка паролей получится

Вероятнее всего заблокирует запись за записью, в итоге останется один компьютер, вычислить который уже для службы безопасности усилий не составит.


plotnick   (2008-08-11 09:12:00) [3]

LogonUser

"API функция LogonUser доступна и документирована начиная с Windows NT 3.51, и обычно используется для проверки прав пользователя. К сожалению, есть некоторые ограничения на использование LogonUser. Первое и самое большое ограничение, это то, что процесс, вызывающий LogonUser должен иметь привелегию SE_TCB_NAME. SE_TCB_NAME очень серьёзная привелегия и не может предоставляться любому пользователю для управлением процессом авторизации. Рекомендуется вызывать LogonUser из сервиса, запущенного аккаунтом системы, так как системный аккаунт изначально имеет привелегию SE_TCB_NAME."


alex-drob   (2008-08-10 11:53:00) [4]

Подбиралка паролей получится)


Eraser   (2008-08-09 19:00:00) [5]

> [0] plotnick   (08.08.08 16:59)

LogonUser


Наверх

Титульная страница Поиск, карта сайта Написать письмо