Я хочу добиться олицетворения уровня «Делегата» с помощью моего API.
Мой пользователь вызывает мой маршрут, передавая свой логин/mdp. API выполнит аутентификацию в моем AD с использованием своего логина и пароля и выполнит олицетворение.
Код: Выделить всё
const int LOGON32_LOGON_INTERACTIVE = 2;
const int LOGON32_PROVIDER_DEFAULT = 0;
bool loggedOn = LogonUser(request.Username, domain, request.Password, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, out safeTokenHandle);
using (safeTokenHandle)
{
WindowsIdentity.RunImpersonated(safeTokenHandle, () =>
{
WindowsIdentity identity = WindowsIdentity.GetCurrent();
Log($"Impersonnalisation réussie. Identité active : {identity.Name}. Niveau d'impersonnalisation : {identity.ImpersonationLevel}");
Env userEnv = new Env(isDev ? Servers.AsDev : Servers.AsProd, source: Appli.ApiErp);
Log($"Objet 'Env' initialisé avec succès pour {identity.Name} sur {(isDev ? "DEV" : "PROD")}.");
});
}
На стороне IIS мы настроили SPN для учетной записи службы, установили аутентификацию приложения на «Согласование».
Приложение настройки пула
/>Знаете ли вы, как мне перейти на уровень «Делегировать» или использовать Kerberos на моем AS400?
Заранее благодарим вас за помощь!>
Подробнее здесь: https://stackoverflow.com/questions/798 ... te-via-api
Мобильная версия