2009-09-02 61 views
1

我在GoDaddy上共享主機上運行一個網站(不是我的選擇,因爲它總是中等信任),而且我有一些高級功能,如果應用程序在High Trust中運行,我想打開這些功能。如何檢查您是否在.NET中的中信任環境中運行?

所以想知道,如果有一種方法來檢查在運行時是否應用程序在.NET中的中信任環境中運行?

回答

1

你可以試試下面的代碼:

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");} 
+2

我覺得對於ASP.NET的性AspNetHostingPermission,是一個更好的適合。 – 2009-09-02 17:45:13

+0

好抓住尼克。我加了一個例子。 – klabranche 2009-09-02 18:10:43

+0

.net 4.0已經以這種方式設置了權限設置。 – 2016-02-19 00:26:48

相關問題