Domanda

Sono in esecuzione di un sito web in hosting condiviso a GoDaddy (non la mia scelta, perché è sempre Medium Trust), e ho alcune caratteristiche avanzate che vorrei accendere se l'applicazione viene eseguita in High Trust.

Quindi, vorrei sapere, se c'è un modo per verificare se in fase di esecuzione se l'applicazione è in esecuzione nell'ambiente Medium Trust in .NET?

È stato utile?

Soluzione

Si potrebbe provare il seguente codice:

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
}

ho ottenuto questo dal seguente link: http://www.netomatix.com/development/webcaspermissions.aspx

Ecco i link per le classi di autorizzazione Security Manager e del Registro di sistema 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

È necessario aggiungere un riferimento a System.Security e aggiungere un paio di utilizzando le istruzioni per System.Security e System.Security.Permissions.

EDIT:

Aggiunto dopo Commento di Nick:

Si potrebbe provare direttamente per il livello di sicurezza asp.net:

if (SecurityManager.IsGranted( new AspNetHostingPermission(AspNetHostingPermissionLevel.Medium)))
{Response.Write("Medium Trust level");}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top