Означает ли полное доверие то же, что и запуск от имени администратора

Полное доверие означает то же самое, что и запуск от имени администратора? Я читал о том, что "чтобы это работало, приложение должно быть приложением с полным доверием". Это то же самое, что вы должны иметь права администратора для запуска приложения? Если нет, то какая разница? Как вы можете определить, является ли приложение "полным доверием"?

Мне говорят, что "Администратор или нет, приложения.Net не будут делать определенные вещи, если они не работают из" надежного "местоположения". Что такое "надежное местоположение"? Если вы запускаете приложение из "надежного местоположения", можете ли вы делать вещи, которые "требуют полного доверия", не будучи администратором?

3 ответа

Нет. Полное доверие - это термин.NET, используемый для обозначения того, что он не работает в изолированной программной среде.NET с ограниченными правами. В.NET до 3.5 SP1 это включало запуск с сетевого ресурса (в конфигурации по умолчанию). Это также включает запуск в качестве приложения ClickOnce, которое не запрашивало дополнительные разрешения, или в какой-либо другой изолированной программной среде на основе браузера.

Полное доверие означает, что он может делать все, что запускает пользователь, а не администратор.

Нет. Начиная с версии 2.0.Net Framework имеет собственную небольшую настройку файловой системы для обеспечения безопасности. Администратор или нет, приложения.Net не будут делать определенные вещи, если они не работают из "надежного" местоположения.

Почти все на вашем локальном жестком диске является доверенным, но (и предположительно они исправили это для 3.5sp1), даже локальная интрасеть не является доверенной, поэтому большинство настольных приложений.Net не смогут даже запуститься, если они находятся на сетевом диске или поделитесь.

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

С точки зрения ASP.Net это также означает, что некоторые действия требуют большего "доверия", чем другие. Например, отправка электронной почты может привести к исключениям, если она настроена неправильно.

По сути, полное доверие означает, что код C# полностью контролирует текущий (.Net) процесс и все процессы, выполняющиеся под учетной записью пула приложений.

Это то же самое, что запускать C++ dll

Доступ администратора будет зависеть от настроек IIS (т. Е. Если вы запускаете веб-сайт под Системой или с учетной записью администратора)

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