У меня есть код в тестовом наборе, выполняющий аутентификацию Kerberos. Эти тесты работали, как и ожидалось в течение многих лет. С момента этого конкретного обновления, функция принимает ectiveCurityContext, стерж с кода SEC_E_LOGON_DENIED (псевдоним 0x8009030CL, псевдоним, что попытка входа в систему не удалась). < /P>
Я искал в Интернете по каким -либо советам, но не смогла найти ничего, что связано с моя проблема.
У меня есть код в тестовом наборе, выполняющий аутентификацию Kerberos. Эти тесты работали, как и ожидалось в течение многих лет. С момента этого конкретного обновления, функция принимает ectiveCurityContext, стерж с кода SEC_E_LOGON_DENIED (псевдоним 0x8009030CL, псевдоним, что попытка входа в систему не удалась). < /P> Я искал в Интернете по каким -либо советам, но не смогла найти ничего, что связано с моя проблема.[code]CredHandle credentials{}; TimeStamp lifetime{}; std::arraypackage={"kerberos"}; AcquireCredentialsHandle(nullptr,package.data(),SECPKG_CRED_OUTBOUND, nullptr,nullptr,nullptr,nullptr,&credentials,&lifetime); SecHandle securityContext{}; ULONG contextAttributes=0; InitializeSecurityContext(&credentials,nullptr,targetName.data(), ISC_REQ_CONFIDENTIALITY,0,SECURITY_NATIVE_DREP,nullptr,0, &securityContext,&outBufferArray,&contextAttributes,nullptr); [/code] Он работает. />[code]CredHandle credentials{}; TimeStamp lifetime{}; std::arraypackage={"kerberos"}; AcquireCredentialsHandleA(nullptr,package.data(),SECPKG_CRED_INBOUND, nullptr,nullptr,nullptr,nullptr,&credentials,&lifetime); SecHandle securityContext{}; ULONG attribs=0; auto res=AcceptSecurityContext(&credentials,nullptr,&inBufferArray,attribs, SECURITY_NATIVE_DREP,&securityContext,&outBufferArray,&attribs,nullptr); [/code] На данный момент res is sec_e_logon_denied. p> Несколько моментов, которые стоит упомянуть: < /p> [list] Компилятор - последняя версия Visual Studio (2022 17.12.4). < /li > SPN правильно установлен. li> Снижение KB5050009 Решает проблему. > [/list]