Wie überprüfen Sie, ob Sie in Medium Trust-Umgebung in .NET ausgeführt werden?
-
21-09-2019 - |
Frage
Ich betreiben eine Website auf gemeinsam genutzten bei GoDaddy Hosting (nicht meine Wahl, weil es immer Medium Trust ist), und ich habe einige erweiterte Funktionen, die ich mag drehen, wenn die Anwendung in High Vertrauen ausgeführt wird.
So möchte wissen, ob es ein Weg, wenn zur Laufzeit zu prüfen ist, ob die Anwendung in Medium Trust-Umgebung ausgeführt wird in .NET?
Lösung
Sie können den folgenden Code versuchen:
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
}
Ich habe dies auf dem folgenden Link: http://www.netomatix.com/development/webcaspermissions.aspx
Hier Links zu den Security Manager und Registry Permission-Klassen in 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
Sie müssen einen Verweis auf System.Security hinzuzufügen und ein paar mit Anweisungen für System.Security und System.Security.Permissions hinzuzufügen.
EDIT:
Hinzugefügt nach Nicks Kommentar:
Sie können direkt für die asp.net Sicherheitsstufe testen:
if (SecurityManager.IsGranted( new AspNetHostingPermission(AspNetHostingPermissionLevel.Medium)))
{Response.Write("Medium Trust level");}