IIS7.5 Пул приложений, идентификация процесса и среда - PullRequest
1 голос
/ 24 сентября 2011

У меня есть веб-приложение, которое должно иметь доступ к локальным ресурсам, файлам / папкам, чтобы иметь возможность выполнять git clone / pull / push.Я создал отдельный пул приложений с идентификатором процесса == моей собственной учетной записью (администратором компьютера).

Но, если я это сделаю:

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)

Возвращаемое значение:

"C:\\Windows\\system32\\config\\systemprofile\\AppData\\Local"

так, похоже, системный профиль все еще используется.git clone и другие git-операции зависают, похоже, что не удается найти ключи .ssh и т. Д.

Интересно то, что до обновления Windows SP1 все работало нормально (по крайней мере, я виню обновление, поскольку больше ничего не изменилосьмашина).

1 Ответ

1 голос
/ 24 сентября 2011

Если его уже нет, попробуйте установить:

<identity impersonate="false"/>

в web.config

EDIT

Я ошибся, вам нужно иметь удостоверение пула приложений с доступом к локальной папке здесь:

System.Security.Principal.WindowsIdentity.GetCurrent()

РЕДАКТИРОВАТЬ 2

Я нашел решение. Чтобы запустить приложение как вам, вам все-таки нужно включить олицетворение (настройка пула приложений не применяется на моем IIS7.5), но КАК ОСОБЫЙ ПОЛЬЗОВАТЕЛЬ. Итак, чтобы включить это, вам нужно включить олицетворение в web.config и указать пользователя:

    <identity impersonate="true" password="o1j2813n" userName="obrad" />

Вы также можете установить это через inetmgr: ASP.NET Impersonation Settings screenshot

В любом случае, после установки этого,

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)

дает:

C:\Users\obrad\AppData\Local

Еще одно обновление:

Я искал способ сделать то же самое, не помещая свой пароль в web.config, и могу подтвердить, что я получаю локальную папку пользователя также, когда включено базовое олицетворение

    <identity impersonate="true"/>

Но при условии, что приложение подключается (в настройках приложения -> Подключиться как ...) как я:

app settings screenshot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...