2009-09-02 2 views
1

私はGoDaddyで共有ホスティングのウェブサイトを運営しています(私の選択ではなく、常に中信頼です)。アプリケーションが高信頼性で実行されている場合、私が有効にしたいいくつかの高度な機能があります。.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

答えて

1

次のコードを試みることができます http://msdn.microsoft.com/en-us/library/system.security.permissions.registrypermission.aspx

System.Securityへの参照を追加し、System.SecurityとSystem.Security.Permissionsに2つのusingステートメントを追加する必要があります。

EDIT:

ニックのコメントを追加しました後:あなたがasp.netのセキュリティレベルについては、直接テストすることができ

:私はASP.NET、AspNetHostingPermissionのためだと思う

if (SecurityManager.IsGranted(new AspNetHostingPermission(AspNetHostingPermissionLevel.Medium))) 
{Response.Write("Medium Trust level");} 
+2

は、優れていますフィット。 –

+0

良いキャッチニック。私は例としてそれを追加しました。 – klabranche

+0

.net 4.0はこのように設定権限を無効にしました。 –

関連する問題