В IIS7 Environment.UserName отличается, когда пользователь вошел в систему - PullRequest
0 голосов
/ 02 февраля 2011

У меня есть приложение Asp.Net MVC, которое работает на общем хосте под IIS7.Приложение использует проверку подлинности с помощью форм по умолчанию MembershipProvider.У меня есть следующий код на одной из моих страниц.

@Environment.UserDomainName - @Environment.UserName

Когда я захожу на сайт как анонимный пользователь, он показывает: WSWB12 - IUSR_139 Пока я вхожу в систему: WORKGROUP - WSWB12 $

Проблема в том, что только учетная запись IUSR имеет право на запись в мои папки.Поэтому, когда пользователь вошел в систему, он не может загружать какие-либо файлы.

Могу ли я что-нибудь с этим сделать?- Я бы очень предпочел остаться с интегрированным режимом.- Делать подражание было бы хорошо для меня.Но кажется, что мой хост просматривал этот раздел в machine.config - есть ли какие-нибудь настройки, которые мой хост мог бы сделать в виртуальном каталоге, чтобы он всегда использовал IUSR?

Спасибо за любую помощь, которую вы можете предоставить.

1 Ответ

0 голосов
/ 02 февраля 2011

При проверке подлинности с помощью форм вы должны использовать

HttpContext.Current.User.Identity.Name

для доступа к имени пользователя ...

Необходимо проверить идентификацию пула приложений.Вы можете установить это для пользователя по вашему выбору, который может иметь правильные привилегии.

...