Я разработал пользовательский пакет аутентификации, который я хотел бы использовать для интерактивного входа в систему. Он создает токен доступа в функции lsaapuserlogon . < /p>
Когда я вызываю lsauserlogon < /code> из приложения, я могу перечислить новые пользовательские сеансы, но когда я использовал его для входа (также я создал пользовательский поставщик учетных данных), я вижу в журнале событий Windows, который я был успешно вошел в систему, а затем выберите «Использование», и я выбираю, и я выбираю, и я выберите, и вхожу в систему, и вхожу в систему, и вхожу в систему. LSAAPLOGONUSER API моего пакета аутентификации. Если я проверю файл журнала, lsaaplogonuser return status_success . Но Windows не зарегистрирована. Покинув LSAAPLOGONUSER , LSA вызывает LSAAPLOGONMENTINGINATION API и BACH LOGONUI .
Когда я подготовил Tokeninformation я получил просмотр lookupprivilegevaluew . Я не знаю, важно ли это для входа в систему. < /P>
LsaApLogonUser(...){
......
// NetUserGetInfo
// AllocateLocallyUniqueId (LogonId)
err = GetTokenInformationv2(pdi?pdi->DomainControllerName:NULL,wszDomain,wszUser,&LocalTokenInformation,LogonId);
err = g_pSec->CreateLogonSession(LogonId);
if(ProfileBuffer)
{
*ProfileBuffer=NULL;
*ProfileBufferLength=0;
}
(*TokenInformationType)=LsaTokenInformationV2;
(*TokenInformation)=LocalTokenInformation;
return STATUS_SUCCESS;
}
GetTokenInformationv2(...){
....
....
// Call LsaEnumerateAccountRights
// check LookupPrivilegeValueW // It failed for "SeInteractiveLogonRight"
//
return STATUS_SUCCESS;
}
< /code>
Является ли ProfileBuffer < /code> для входа в систему? Я не знаю, почему LSA не может войти в систему.
Подробнее здесь: https://stackoverflow.com/questions/333 ... gon-failed