我在GoDaddy上共享主機上運行一個網站(不是我的選擇,因爲它總是中等信任),而且我有一些高級功能,如果應用程序在High Trust中運行,我想打開這些功能。如何檢查您是否在.NET中的中信任環境中運行?
所以想知道,如果有一種方法來檢查在運行時是否應用程序在.NET中的中信任環境中運行?
我在GoDaddy上共享主機上運行一個網站(不是我的選擇,因爲它總是中等信任),而且我有一些高級功能,如果應用程序在High Trust中運行,我想打開這些功能。如何檢查您是否在.NET中的中信任環境中運行?
所以想知道,如果有一種方法來檢查在運行時是否應用程序在.NET中的中信任環境中運行?
你可以試試下面的代碼:
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添加一些使用語句。
編輯:
尼克的補充意見後:
您可以直接測試的asp.net安全級別:
if (SecurityManager.IsGranted(new AspNetHostingPermission(AspNetHostingPermissionLevel.Medium)))
{Response.Write("Medium Trust level");}
我覺得對於ASP.NET的性AspNetHostingPermission,是一個更好的適合。 – 2009-09-02 17:45:13
好抓住尼克。我加了一個例子。 – klabranche 2009-09-02 18:10:43
.net 4.0已經以這種方式設置了權限設置。 – 2016-02-19 00:26:48