GoDaddy の共有ホスティングで Web サイトを実行しています (これは常に中信頼であるため、私の選択ではありません)。また、アプリケーションが高信頼で実行されている場合に有効にしたい高度な機能がいくつかあります。
アプリケーションが.NETの中程度の信頼環境で実行されているかどうかを実行時に確認する方法があるかどうかを知りたいですか?
GoDaddy の共有ホスティングで Web サイトを実行しています (これは常に中信頼であるため、私の選択ではありません)。また、アプリケーションが高信頼で実行されている場合に有効にしたい高度な機能がいくつかあります。
アプリケーションが.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 の Security Manager および Registry Permission クラスのリンクは次のとおりです。
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");}