完全信任是否与运行管理员相同

时间:2008-09-19 14:30:34

标签: privileges administrator full-trust

完全信任是否与运行管理员相同?我读过一些文章说“为了实现这一点,应用程序必须是一个完全信任的应用程序。”这与您必须具有管理员权限才能运行应用程序相同吗?如果没有,有什么区别?如何确定应用程序是否“完全信任”?

我被告知“管理员与否,.Net应用程序如果不是从'可靠'位置运行,则不会执行某些操作。”什么是“受信任的位置”?如果您从“受信任的位置”运行应用程序,您是否可以在不作为管理员的情况下执行“需要完全信任”的操作?

3 个答案:

答案 0 :(得分:17)

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

完全信任意味着它可以执行正在运行的用户的任何操作,而不是以管理员身份运行。

答案 1 :(得分:5)

没有。从版本2.0开始,.Net框架拥有自己的小文件系统安全性设置。管理员与否,.Net应用程序如果不是从“受信任”的位置运行,则不会执行某些操作。

本地硬盘驱动器上的任何内容都是值得信赖的,但是(并且据称他们已经针对3.5sp1修复了此问题)即使本地Intranet 受信任,因此大多数.Net桌面应用程序都会失败如果他们坐在网络驱动器上或分享,就开始。

您可以更改计算机上的配置,以便允许来自该区域的应用程序,但必须为将要运行该应用程序的每台计算机完成此操作,从而打破常见的企业部署方案

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

答案 2 :(得分:0)

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

与运行C ++ dll相同

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