Я установил веб-сайт ASP.NET. Я установил столько настроек, сколько я знаю, как установить для моей личной учетной записи пользователя, в том числе:
- Идентификатор пула приложений установлен для моей личной учетной записи пользователя.
- Аутентификация для параметров «Анонимный» и «Олицетворение ASP.NET» явно указана для моей личной учетной записи, и оба включены.
Когда веб-приложение выполняет запрос, оно вызывает PowerShell для запуска команды 'git config'. При вызове PowerShell я также указываю параметр вызова для FlowImpersonationPolicy , просто чтобы убедиться, что правильная идентификация делает его полностью подходящим. Во время выполнения, перед тем, как PowerShell запускается веб-приложением, значение System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString()
действительно является моей учетной записью.
Проблема в том, что вывод 'git config' отличается, когда я запускаю приложение в visual studio по сравнению с тем, когда я запускаю его на своем локальном экземпляре IIS, который настроен так, как я описал выше. Когда я запускаю веб-приложение в Visual Studio, появляется то же удостоверение, что и в IIS, но вывод git config отличается.
Когда он запускается git config --show-origin -l
из версии, размещенной в Visual Studio, я вижу, что он правильно выбирает глобальные настройки для моей учетной записи пользователя по адресу "c: \ users \ myusername.gitconfig". Однако при запуске того же веб-приложения, развернутого в IIS, команда не выводит список конфигураций в этом месте.
Таким образом, похоже, что команда git не запущена под моей учетной записью пользователя или не знает о ней, даже если все кажется вызванной моей учетной записью. Я что-то упустил?