Если его уже нет, попробуйте установить:
<identity impersonate="false"/>
в web.config
EDIT
Я ошибся, вам нужно иметь удостоверение пула приложений с доступом к локальной папке здесь:
System.Security.Principal.WindowsIdentity.GetCurrent()
РЕДАКТИРОВАТЬ 2
Я нашел решение. Чтобы запустить приложение как вам, вам все-таки нужно включить олицетворение (настройка пула приложений не применяется на моем IIS7.5), но КАК ОСОБЫЙ ПОЛЬЗОВАТЕЛЬ. Итак, чтобы включить это, вам нужно включить олицетворение в web.config и указать пользователя:
<identity impersonate="true" password="o1j2813n" userName="obrad" />
Вы также можете установить это через inetmgr:
В любом случае, после установки этого,
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
дает:
C:\Users\obrad\AppData\Local
Еще одно обновление:
Я искал способ сделать то же самое, не помещая свой пароль в web.config, и могу подтвердить, что я получаю локальную папку пользователя также, когда включено базовое олицетворение
<identity impersonate="true"/>
Но при условии, что приложение подключается (в настройках приложения -> Подключиться как ...) как я: