使用证据,安全策略和权限,以防止装配加载Web服务器上
-
19-09-2019 - |
题
假设一个的 .NET类库代码强>的是,例如,<强>写入Windows注册表即可。那么这段代码有问题在互联网上运行,因为默认的互联网政策不给访问写入注册表。
装配体中添加RequestMinimum
发言中,我们可以指定代码需要写权限写入注册表。这不会改变的事实,即代码不具有权限,但<强>将停止加载组件强>;运行时将引发一System.Security.Policy.PolicyException
并确定所需的权限。
您现在使用的任何其他例子证据,安全策略和权限(代码访问安全性的关键要素强>)为防止加载的组件在Web服务器上强>
解决方案
您可以阻止加载在任何情况下的任何组件(Web服务器或其他方式),如果你否认它的SecurityPermission \执行。在.NET 3.5和更早的版本,ASP.NET信任级别与计算机上的本地CAS政策,以确定任何给定的程序集的最终权限授予相交。因此,您可以通过本地CAS策略,拒绝它的执行权限,使用通常的证据和代码组成员条件的机制防止ASP.NET下加载的程序集。 (这不会在.NET 4.0中,地方CAS策略将不复存在成立。)
不隶属于 StackOverflow