2009-09-02 11 views
1

Je gère un site Web sur l'hébergement partagé chez GoDaddy (ce n'est pas mon choix, car il s'agit toujours de confiance moyenne), et j'ai quelques fonctionnalités avancées que je voudrais activer si l'application est exécutée en confiance élevée.Comment vérifiez-vous si vous utilisez un environnement de confiance moyenne dans .NET?

Donc, aimerait savoir, s'il y a un moyen de vérifier si à l'exécution si l'application est en cours d'exécution dans l'environnement de confiance moyenne dans .NET?

Répondre

1

Vous pouvez essayer le code suivant:

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 
} 

Je suis arrivé ce à partir du lien suivant: http://www.netomatix.com/development/webcaspermissions.aspx

est ici des liens pour les classes d'autorisation Security Manager et Registre dans 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

Vous allez besoin d'ajouter une référence à System.Security et d'ajouter quelques instructions using pour System.Security et System.Security.Permissions.

EDIT:

Ajouté après Commentaire de Nick:

Vous pouvez tester directement le niveau de sécurité asp.net:

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

Je pense que pour ASP.NET, le AspNetHostingPermission, est un meilleur en forme. –

+0

Bonne capture Nick. Je l'ai ajouté comme un exemple. – klabranche

+0

.net 4.0 a rendu les autorisations de configuration de cette manière dépréciées. –

Questions connexes