Wie überprüfen Sie, ob Sie in Medium Trust-Umgebung in .NET ausgeführt werden?

StackOverflow https://stackoverflow.com/questions/1369059

  •  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?

War es hilfreich?

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");}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top