完全信任是否与运行管理员相同?我读过一些文章说"为了使这个工作,应用程序必须是一个完全信任的应用程序." 这与您必须具有管理员权限才能运行应用程序相同吗?如果没有,有什么区别?你如何判断应用程序是否"完全信任"?
我被告知"管理员与否,.Net应用程序如果不是从'可靠'位置运行,将不会做某些事情." 什么是"受信任的位置"?如果您从"受信任的位置"运行应用程序,您是否可以在不作为管理员的情况下执行"需要完全信任"的操作?
不.完全信任是一个.NET术语,用于表示它不是在降低权限的.NET沙箱中运行.在3.5 SP1之前的.NET中,这包括从网络共享运行(在默认配置中).它还包括作为未请求其他权限的ClickOnce应用程序运行,或者在其他一些基于浏览器的沙箱中运行.
完全信任意味着它可以执行正在运行的用户所做的任何事情,而不是以管理员身份运行.
从版本2.0开始,.Net框架拥有自己的小文件系统设置以确保安全性.管理员与否,.Net应用程序如果不是从"可信"的位置运行,则不会执行某些操作.
几乎所有本地硬盘驱动器都是值得信任的,但是(并且据称他们为3.5sp1修复了这个问题)即使本地内部网也不受信任,因此大多数.Net桌面应用程序如果坐在网络驱动器上将无法启动或分享.
您可以更改计算机上的配置,以便允许来自该区域的应用程序,但必须为将要运行该应用程序的每台计算机执行此操作,这会破坏常见的企业部署方案.
从ASP.Net的角度来看,这也意味着某些活动需要比其他活动更"信任".例如,如果未正确设置,发送电子邮件可能会导致异常.