Служба WCF, размещенная в IIS7 с правами администратора?
Как предоставить права администратора работающей службе WCF, размещенной в IIS7?
Проблема в том, что мой код работает нормально в тестовом консольном приложении, запущенном от имени администратора, но тот же код, который используется службой WCF в IIS7, не работает. Когда я запускаю то же консольное тестовое приложение без прав администратора, код завершается ошибкой.
Итак, как я могу предоставить права администратора для службы WCF, размещенной в IIS7? Предоставляю ли я права администратора службе IIS7? Могу ли я предоставить права на определенный сервис WCF? Как мне выполнить "Запуск от имени администратора" на IIS7 или конкретном веб-сайте?
Спасибо!
(Вот в чем вопрос, вот более подробное описание ситуации: я пытаюсь захватить кадры с веб-камеры в файл jpg с помощью библиотеки Touchless, и я могу сделать это из консольного приложения с правами администратора. Когда я запускаю это же консольное приложение без прав администратора Я не могу получить доступ к веб-камере в коде. То же самое происходит в службе WCF с тем же кодом.)
1 ответ
Разрешения, под которыми работает ваша служба WCF, скорее всего, идентичность пула приложений. Во-первых, будьте осторожны с предоставлением прав администратора пулу приложений. Я бы выделил этот сервис для его собственного пула приложений, если вы можете минимизировать объем необходимых прав администратора.
Посетите пул приложений и перейдите к дополнительным настройкам на панели "Действия". Вы можете установить там своего собственного администратора.
Кроме того, есть вероятность, что часть службы работает как учетная запись анонимного пользователя. Чтобы изменить это, отредактируйте сайт, а затем авторизуйтесь -> анонимно. Установите его для использования идентификатора пула приложений. Таким образом, все будет работать под идентификатором, установленным в пуле приложений.