Служба WCF, размещенная в IIS7 с правами администратора?

Как предоставить права администратора работающей службе WCF, размещенной в IIS7?

Проблема в том, что мой код работает нормально в тестовом консольном приложении, запущенном от имени администратора, но тот же код, который используется службой WCF в IIS7, не работает. Когда я запускаю то же консольное тестовое приложение без прав администратора, код завершается ошибкой.

Итак, как я могу предоставить права администратора для службы WCF, размещенной в IIS7? Предоставляю ли я права администратора службе IIS7? Могу ли я предоставить права на определенный сервис WCF? Как мне выполнить "Запуск от имени администратора" на IIS7 или конкретном веб-сайте?

Спасибо!

(Вот в чем вопрос, вот более подробное описание ситуации: я пытаюсь захватить кадры с веб-камеры в файл jpg с помощью библиотеки Touchless, и я могу сделать это из консольного приложения с правами администратора. Когда я запускаю это же консольное приложение без прав администратора Я не могу получить доступ к веб-камере в коде. То же самое происходит в службе WCF с тем же кодом.)

1 ответ

Решение

Разрешения, под которыми работает ваша служба WCF, скорее всего, идентичность пула приложений. Во-первых, будьте осторожны с предоставлением прав администратора пулу приложений. Я бы выделил этот сервис для его собственного пула приложений, если вы можете минимизировать объем необходимых прав администратора.

Посетите пул приложений и перейдите к дополнительным настройкам на панели "Действия". Вы можете установить там своего собственного администратора.

Кроме того, есть вероятность, что часть службы работает как учетная запись анонимного пользователя. Чтобы изменить это, отредактируйте сайт, а затем авторизуйтесь -> анонимно. Установите его для использования идентификатора пула приложений. Таким образом, все будет работать под идентификатором, установленным в пуле приложений.

Другие вопросы по тегам