Текущий архив: 2009.09.27;
Скачать: CL | DM;
Вниз
Как проверить аккаунт пользователя? Найти похожие ветки
← →
plotnick (2008-08-08 16:59) [0]Есть логин и пароль пользователя зарегистрированного в домене. Вопрос - в какую функцию нужно передать логин и пароль, что проверить, что такой пользователь действительно зарегистрирован в домене и пароль введен правильно.
← →
Eraser © (2008-08-09 19:00) [1]> [0] plotnick (08.08.08 16:59)
LogonUser
← →
alex-drob © (2008-08-10 11:53) [2]Подбиралка паролей получится)
← →
plotnick (2008-08-11 09:12) [3]LogonUser
"API функция LogonUser доступна и документирована начиная с Windows NT 3.51, и обычно используется для проверки прав пользователя. К сожалению, есть некоторые ограничения на использование LogonUser. Первое и самое большое ограничение, это то, что процесс, вызывающий LogonUser должен иметь привелегию SE_TCB_NAME. SE_TCB_NAME очень серьёзная привелегия и не может предоставляться любому пользователю для управлением процессом авторизации. Рекомендуется вызывать LogonUser из сервиса, запущенного аккаунтом системы, так как системный аккаунт изначально имеет привелегию SE_TCB_NAME."
← →
Anatoly Podgoretsky © (2008-08-11 09:16) [4]
> Подбиралка паролей получится
Вероятнее всего заблокирует запись за записью, в итоге останется один компьютер, вычислить который уже для службы безопасности усилий не составит.
← →
plotnick (2008-08-11 10:19) [5]В общем нашел.
В мелкомягких по этому поводу: 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;
Страницы: 1 вся ветка
Текущий архив: 2009.09.27;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.011 c