【发布时间】:2009-09-02 17:23:23
【问题描述】:
我在 GoDaddy 的共享主机上运行一个网站(不是我的选择,因为它始终是中等信任),如果应用程序在高信任下运行,我想打开一些高级功能。
所以想知道,是否有一种方法可以在运行时检查应用程序是否在 .NET 的中等信任环境中运行?
【问题讨论】:
标签: .net medium-trust
我在 GoDaddy 的共享主机上运行一个网站(不是我的选择,因为它始终是中等信任),如果应用程序在高信任下运行,我想打开一些高级功能。
所以想知道,是否有一种方法可以在运行时检查应用程序是否在 .NET 的中等信任环境中运行?
【问题讨论】:
标签: .net medium-trust
你可以试试下面的代码:
if (!SecurityManager.IsGranted(new RegistryPermission(PermissionState.Unrestricted)))
{
//do something.... not at full trust
}
if (!SecurityManager.IsGranted(new DnsPermission(PermissionState.Unrestricted)))
{
//do something.... not at full trust
}
我从以下链接得到这个: http://www.netomatix.com/development/webcaspermissions.aspx
这里是 MSDN 中安全管理器和注册表权限类的链接:
http://msdn.microsoft.com/en-us/library/system.security.securitymanager.isgranted.aspx http://msdn.microsoft.com/en-us/library/system.security.permissions.registrypermission.aspx
您需要添加对 System.Security 的引用,并为 System.Security 和 System.Security.Permissions 添加几个 using 语句。
编辑:
在尼克的评论之后添加:
您可以直接测试 asp.net 安全级别:
if (SecurityManager.IsGranted( new AspNetHostingPermission(AspNetHostingPermissionLevel.Medium)))
{Response.Write("Medium Trust level");}
【讨论】: