15

完全信任与以管理员身份运行的含义相同吗?我读过一些文章说“要使其正常工作,该应用程序必须是完全信任的应用程序”。这是否与您必须具有管理员权限才能运行应用程序相同?如果不是,有什么区别?如何判断应用程序是否“完全信任”?

我被告知“不管是否是管理员,.Net 应用程序如果不是从‘受信任’的位置运行,它们就不会做某些事情。” 什么是“可信位置”?如果您从“受信任的位置”运行应用程序,您可以在不成为管理员的情况下执行“需要完全信任”的事情吗?

4

3 回答 3

17

不。完全信任是一个 .NET 术语,用于表示它没有在降低权限的 .NET 沙箱中运行。在 3.5 SP1 之前的 .NET 中,这包括从网络共享运行(在默认配置中)。它还包括作为未请求额外权限的 ClickOnce 应用程序或在其他一些基于浏览器的沙箱中运行。

完全信任意味着它可以做它正在运行的用户所能做的任何事情,而不是以管理员身份运行。

于 2008-09-19T14:33:45.893 回答
5

不。从 2.0 版开始,.Net 框架有自己的小文件系统设置以确保安全。不管是否是管理员,.Net 应用程序如果不是从“受信任”位置运行,它们就不会做某些事情。

本地硬盘驱动器上的几乎所有东西都是可信的,但是(据说他们为 3.5sp1 修复了这个问题)甚至本地 Intranet 也不可信,因此大多数 .Net 桌面应用程序即使在网络驱动器上也无法启动或分享。

您可以更改机器上的配置,以便允许来自该区域的应用程序,但必须对将运行应用程序的每台机器进行此操作,这破坏了常见的公司部署方案。

从 ASP.Net 的角度来看,这也意味着某些活动比其他活动需要更多的“信任”。例如,如果设置不正确,发送电子邮件可能会导致异常。

于 2008-09-19T14:31:58.627 回答
0

基本上完全信任意味着 C# 代码可以完全控制当前 (.Net) 进程以及在应用程序池帐户下运行的所有进程。

它与运行 C++ dll 相同

管理员访问将取决于 IIS 设置(即,如果您在系统或管理员帐户下运行网站)

于 2012-01-31T11:51:41.180 回答