Можно ли настроить ASP.NET для работы в качестве администратора при включенном контроле учетных записей? - PullRequest
0 голосов
/ 11 марта 2010

Я не могу найти информацию, которая указывает, можно ли настроить ASP.NET (через web.config или, возможно, machine.config) для работы в качестве администратора real на компьютере с включенным UAC .

Под этим я подразумеваю, что даже если вы установите для нее учетную запись администратора, UAC отключит возможность этой учетной записи выступать в роли администратора, возвращая набор токенов, который скрывает роль администратора. Для любых проверок, таких как IsInRole, текущая учетная запись фактически не является администратором.

Итак ... Допустим, я хочу игнорировать все полезные советы и просто запустить веб-приложение на Vista с правами администратора. Это вообще возможно?

Альтернативы приветствуются. (Основная причина необходимости прав администратора: остановить или запустить службы, работающие на этом компьютере.)

1 Ответ

1 голос
/ 11 марта 2010

Альтернативное предложение для основной причины:

Используйте очередь сообщений или аналогичную концепцию для перемещения информации об услугах для запуска / остановки назад и вперед между различными контекстами безопасности вместо того, чтобы пытаться объединить эти вещи вместе в ASP.NET.

Например,

  1. Под своей учетной записью ASP.NET без прав администратора запишите некоторые значения в файл или реестр (какой-либо журнал), которые содержат информацию о том, какие службы нужно остановить или запустить.

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

Вы можете обойти проблему с помощью обходного пути вместо взлома безопасности или вместо полного отключения UAC.

Обновление для мониторинга:

  1. Та же идея, что и выше, но несколько наоборот - служба main / controller для этого сценария, работающая в системе, записывает в файл журнала. Это сервис, который пишет о других сервисах.
  2. Установите автообновление на веб-странице. Каждый раз, когда ваша веб-страница обновляется, она просматривает этот журнал на наличие изменений = информация об остановленных или запущенных службах (может сохранять собственный файл для поиска изменений). Обновление может быть тегом обновления META или обратным вызовом AJAX на сервер (более тонкий).
  3. Веб-страница выдает инструкции, как и раньше.

Проблема в том, что эта основная / контроллерная служба останавливается и ничего не сообщается (журналы / сообщения перестают передаваться). Сделайте особый случай для этой службы, если можете, попросив Windows перезапустить ее, если она остановится, или перезагрузить машину, если она не может запустить эту службу ...

.. Кстати, вы рассматривали инструменты Windows для автоматического просмотра служб и их перезапуска в случае сбоя вместо использования монитора веб-страниц или это не выполнимо для ваших требований?

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