Как правильно реализовать «Как администратор» или «Запуск от имени администратора» в приложении .NET для выбранных операций? - PullRequest
7 голосов
/ 28 июля 2011

Я ищу правильный способ разрешить повышение привилегий для выбранных операций.

Нечто подобное многие продукты предлагают.

Например, если у вас включен UAC и вы используете Total Commander (работающий с основными привилегиями) при просмотре папок с ограниченным доступом, вы получите:

enter image description here

Если вы нажмете As Administrator, вы получите общее диалоговое окно управления доступом пользователя, спрашивающее, хотите ли вы предоставить процессу необходимые разрешения. Возможно ли подобное в приложении .NET (даже с поддержкой Win32)?

  1. Как правильно реализовать такую ​​функциональность?
  2. Нужно ли запускать внешний процесс, чтобы получить повышенные привилегии только для выбранных функций?

Я не ищу решения, которое потребовало бы запуска основного процесса от имени администратора.

1 Ответ

4 голосов
/ 28 июля 2011

Вам нужно будет разделить функциональность целевой операции на отдельный компонент, который будет работать с повышенными правами.Это может быть исполняемый файл, для которого требуется повышение прав, или компонент COM (который, вероятно, может быть оболочкой COM для компонента .NET).Подробности доступны по адресу http://msdn.microsoft.com/en-us/library/bb756990.aspx,, а Когда добавлять значок щита в пользовательский интерфейс вашего приложения особенно актуально.

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